web-dev-qa-db-ja.com

モジュールのバックエンドにjQuery機能を追加する方法は?

ユーザーがバックエンドからいくつかのメーカー名を選択できるモジュールを作成しています。名前はいくつかのNice cssでインデックスに投稿されます。

ユーザーが使いやすいように、バックエンドページにjqueryを追加できるかどうかを確認したいと思います。ユーザーが選択した製造元の数(最大30)をカウントするテキストボックスと、現在選択されているすべての製造元のリストを作成します。さらに明確にするために画像を投稿します。

enter image description here

3
IseNgaRt

このためのカスタムフォームフィールドを作成する必要があります。

まず、XMLのフィールドのタイプを次のように変更します。

<field name="brands" type="brands" label="Foreign Brands" />

次に、XMLで<fieldset>を次で置き換えます。

<fieldset addfieldpath="/modules/mod_mymodule/fields">

次に、新しいPHPというファイルbrands.phpを次の場所に作成します:

modules/mod_mymodule/fields

defined('JPATH_BASE') or die;

jimport('joomla.form.formfield');

class JFormFieldBrands extends JFormField
{
    protected $type = 'brands';

    public function getInput()
    {
       $doc = JDocument::getDocument();
       $js = '
              jQuery(document).ready(function($){
                  // Your JS code
              });
       '; 
       $doc->addScriptDeclaration($js);

       $options = array(
           'A.Dominguez' => 'A.Dominguez',
           'A.Feretti'   => 'A.Feretti',
           // Add more here
       );

       $select = JHtml::_('select.genericlist', $options, $this->name, null, 'value', 'text', $this->value, $this->id);

       return $select;
    }
}
4
Lodder