2

Joomla!の管理パネルのユーザー作成フォームにドロップダウンリストを追加しました。1.5(.xmlファイルを使用)。私が抱えている問題は、その内容が動的でなければならないということです(外部ソースファイルからのものです)。私の質問は、どこで(そしておそらくどのように)それを作ることができるかということです。

4

3 に答える 3

2

独自のタイプを作成できます。default.xmlには、次のようなものがあります。

<url addpath="/administrator/components/com_componentname/elements/">
    <param name="id" type="myType" default="0" label="SELECT_LABEL" description="SELECT_DESC" />
</url>

および/administrato/components/com_componentname/elements/myType.phpの実装として

class JElementmyType extends JElement {
    var     $_name = 'myType';

    function fetchElement($name, $value, &$node, $control_name)
    {

            $list = READ_FILE_OR_DB_OR_ANYTHING();
            array_unshift($list, JHTML::_('select.option', '0', '-'.JText::_('Select Me').' -', 'value', 'text'));

            return JHTML::_('select.genericlist',  $list, ''.$control_name.'['.$name.']', 'class="inputbox"', 'value', 'text', $value, $control_name.$name );
    }

}

于 2013-01-21T07:53:37.233 に答える
0

xml フォームを使用している場合は、sql タイプのフィールドを使用できます。

<param name="user" type="sql" default="" label="Select an User" query="SELECT id, username FROM #__user" key_field="id" value_field="username" />

詳細を読む - http://docs.joomla.org/Sql_parameter_type

于 2013-01-20T13:07:50.743 に答える
0

私はこの問題を抱えています - あなたが私に言ったように、私のコードは次のようになります:

    <?php

jimport( 'joomla.html.html.select' );

class JElementKlasa extends JElement {
    var     $_name = 'Klasa';

    function fetchElement($name, $value, &$node, $control_name)
    {

            $list = array(1=>'a', 2=>'b');
            $options = array();
            foreach($list as $key=>$value)
                $options[] = JHTML::_('select.option', $key, $value);

            //array_unshift($list, JHTML::_('select.option', '0', "Take it"));

            return JHTML::_('select.genericlist',  $options, 'klas', '', 'value', 'text');
 }

 ?>

しかし、そこには表示されません-実際にはスペースを作成しますが、空です:(その間、修正を試み続けます。

于 2013-01-21T20:45:28.047 に答える