2016-09-11 13 views
0

私は、バックエンドユーザーがコンテンツカテゴリを自分のデータベーステーブルのレコードに関連付けることを可能にするカスタムコンポーネントを作成しています。私はJoomlaでバックエンド全体に表示されるフォームフィールドを同じにしたいと思っています。ここでユーザーは入力によってドロップダウンのカテゴリをフィルタリング/検索できます。Joomlaコンポーネント開発:検索可能カテゴリフォームフィールド

Example

The joomla websiteこのコードの例を提供する:

<field name="mycategory" type="category" extension="com_content" label="Select a category" description="" /> 

しかしながら、これは唯一の検索ではない標準的なドロップダウン選択ボックスを作成します。 「管理者/コンポーネント/ com_content /モデル/フォーム/ artile.xml」を探し

は、カテゴリフィールドは次のようにリストされます。

<field name="catid" 
      type="categoryedit" 
     label="JCATEGORY" 
      description="JFIELD_CATEGORY_DESC" 
     required="true" 
      default="" 
    > 
    </field> 

しかしこれは私にカテゴリIDを入力するための単純なテキストボックスを提供します。

ゼロからプログラミングせずに検索可能なドロップダウンリストを簡単に取得するにはどうすればよいですか?

答えて

1

カテゴリフィールドタイプは標準フォームフィールドタイプなので、joomlaでフォームを作成する場所はどこでも可能です。 https://docs.joomla.org/Standard_form_field_typesで標準フォームフィールドの詳細を読むことができます。しかし、カテゴリエディットフィールドタイプは、カテゴリマネージャコンポーネントにとってユニークな/カスタムのものです。カスタムフォームフィールドの詳細については、https://docs.joomla.org/Creating_a_custom_form_field_typeをご覧ください。

xmlでカスタムフィールドを使用するには、xmlファイルのfieldsetタグでaddfieldpath属性を使用して、フィールドが格納されている場所へのパスを宣言する必要があります。

<fieldset addfieldpath="/administrator/components/<component name>/models/fields"></fieldset>

フルパスcategoryeditテンプレートオートコンプリート機能を有効に次の行を追加

<fieldset addfieldpath="administrator/components/com_categories/models/fields"></fieldset>

+0

これは何も変更されませんでした。私はまだオートコンプリート機能なしで同じカテゴリをドロップダウンします。 – Codewise

0

あろう使用するようcom_categoriesあろう上記の例ではアップ。

JHtml::_('formbehavior.chosen', 'select', null, array('disable_search_threshold' => 0)); 
関連する問題