ユーザーの名前フィールドの下のユーザー管理フォームに、複数選択したデータを入力しようとしています。
これは、dbから複数選択されたデータを表示するために、フォーム内に追加したものです。
ファイル:
myweb\components\com_users\models\forms\user.xml
<field
name="groupMember"
type="list"
description="choose cybertechnos groups"
label="Choose Groups"
multiple ="true"
required="true"
size="111"
>
<option value ="A">A</option>
<option value ="B">B</option>
<option value ="C">C</option>
</field>
文字列comaベースの値を入力して配列に変換するために、内部に次のコードを追加しました:
myweb\libraries\joomla\table\user.php
クエリでデータをロードした直後$data
ロード関数内の変数。
$ data ["groupMember"] = explode( '、'、$ data ["groupMember"]);
しかし、ユーザー管理パネル内のフォームを確認すると、2つの問題が発生しています。
1)下の図のように複数選択されたリストボックスではなく、タグスタイルのリストが表示されます。
2)データベースからの適切な選択値が表示されません。
あなたはそれを完全に間違っています。次のCMSの更新ですべてが失われる可能性が高いため、ファイル/クラスにコア変更を加えないでください。
代わりに plugins を使用してください。コア機能を拡張するための最良の方法です。ここで必要なのは、単純なプロファイルプラグインです。チュートリアルを読む プロファイルプラグインの作成 。
また、list
属性を持つ標準のmultiple
フィールドを使用すると、常にタグスタイルでオプションが表示されます(100%確実ではありません)。
とにかく、要件に合わせて カスタムフォームフィールドタイプ を作成できます。