MODXでプリフックを使用して選択フィールドオプションタグを設定する

Yannnd

MODX Revoサイトには、次のような選択フィールドを持つFormItフォームがあります。

<select name="arrangement" id="arrangement">
<option value="0" [[!+fi.arrangement:FormItIsSelected=`0`]]>Arrangement 0</option>
<option value="1" [[!+fi.arrangement:FormItIsSelected=`1`]]>Arrangement 1</option>
<option value="2" [[!+fi.arrangement:FormItIsSelected=`2`]]>Arrangement 2</option>

'getArrangements'と呼ばれるFormItプリフックを使用してオプションを設定したいと思います。

プリフックは、フォームタグの前にFormItフォーム定義で呼び出されます。

[[!FormIt?
   &preHooks=`getMaxYear,getArrangements` 

最初に呼び出されたprehook'getMaxYear 'を使用して単純な入力フィールドの値を設定することに成功しました。これがどのように機能するかは明らかですが、selectフィールドを使用すると状況がわかりにくくなります。MODX RTFMによると、次のように配列をjsonエンコードすることで実行する必要があります。

$hook->setValue('hobbies',json_encode(array('music','films','books')));

選択したHTMLからオプションタグを削除し、「getArrangements」という名前のスニペットを作成しました。

<?php
$arrangements = array(  '0' => 'Arrangement 0', 
                        '1' => 'Arrangement 1', 
                        '2' => 'Arrangement 2'); 
$hook->setValue('arrangement',json_encode($arrangements));
return true;

これはエラーを生成しませんが、空の選択フィールドが残ります。

私はここで何かを見落としているに違いありません、私がこれをやろうとしている方法がうまくいかないことを想像することができます。しかし、私は今立ち往生しています。

誰かがこれを達成するために正しい方向に私を向けることができますか?

お気に入り

FormItIsSelectedは数値配列を必要とし、連想配列を使用します。次のコードを使用して、オプション0を選択します。

<?php
$arrangements = array('0'); 
$hook->setValue('arrangement',json_encode($arrangements));
return true;

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaScriptを使用して選択フィールドのoptgroupでhtmlオプション値を設定します

分類Dev

django-adminで選択フィールドオプションをフィルタリングする

分類Dev

Vuejsを使用して複数の選択オプション(ドロップダウン)からリストをフィルタリングする方法

分類Dev

AngularJS:ディレクティブを使用してページに選択ドロップダウンを適用するときにデフォルトの選択オプションを設定します

分類Dev

複数のオプションを使用してクエリセットをフィールドでフィルタリングする

分類Dev

Dojoで2番目の選択値を使用して選択のオプションをフィルタリングする

分類Dev

オプションの選択に基づいてデータをフィルタリングし、選択に基づいてタグを作成するAngularJs

分類Dev

選択したオプションに基づいてクエリをフィルターする

分類Dev

最初の5文字が入力フィールドと等しい場合に選択ボックスオプションを設定する方法

分類Dev

Javaのリフレクションを使用して異なる数値タイプでNumberフィールドを設定する方法

分類Dev

フォームオプションを使用してMYSQLクエリをフィルタリングする

分類Dev

Angular6-リアクティブフォーム-オブジェクトと[選択済み]バインディングを使用する場合、プログラムで選択オプションを設定できません

分類Dev

選択オプションを入力し、Redux フォームの FieldArray で 2 番目の選択をフィルタリングする方法は?

分類Dev

AngularJSを使用してドロップダウンリストコントロールの選択したオプションを設定する方法

分類Dev

選択タグのオプションが選択されている場合、フォームフィールドを動的に追加します

分類Dev

Ruby onRails-ユーザーが選択したオプションに基づいてレコードをフィルタリングする

分類Dev

Django:選択した他のフォームフィールドオプションに基づいて、異なるクエリセットでフォームフィールド選択オプションを変更するにはどうすればよいですか?

分類Dev

チェックボックスをオンにし、フィルターを使用した後に選択したオプションを選択します

分類Dev

リフレクションを使用してフィールドへのポインターを設定する

分類Dev

選択オプションタグでphpエコーを使用して値を設定します

分類Dev

vueで選択フィールドで選択されたオプションを設定するにはどうすればよいですか?

分類Dev

jqueryを使用して選択フィールドのオプション値の変更を検出する

分類Dev

時間比較を使用して選択フィールドからオプションを削除する

分類Dev

ブレードテンプレートのデータベースフィールドに基づいて選択したオプションを設定するにはどうすればよいですか?

分類Dev

他の選択フィールド選択と設計に基づいて選択オプションリストを更新する

分類Dev

Laravel:デフォルトオプションを設定するときにフォーム選択がスタイル/クラスで機能しない

分類Dev

mat-selectコンポーネントを使用してデフォルトで選択されたオプションを設定する正しい方法

分類Dev

バッチファイルを使用してタスクスケジューラの開始(オプション)プロパティを設定する方法

分類Dev

SQLデータソースを使用してドロップダウンリストのオプションをフィルタリングする

Related 関連記事

  1. 1

    JavaScriptを使用して選択フィールドのoptgroupでhtmlオプション値を設定します

  2. 2

    django-adminで選択フィールドオプションをフィルタリングする

  3. 3

    Vuejsを使用して複数の選択オプション(ドロップダウン)からリストをフィルタリングする方法

  4. 4

    AngularJS:ディレクティブを使用してページに選択ドロップダウンを適用するときにデフォルトの選択オプションを設定します

  5. 5

    複数のオプションを使用してクエリセットをフィールドでフィルタリングする

  6. 6

    Dojoで2番目の選択値を使用して選択のオプションをフィルタリングする

  7. 7

    オプションの選択に基づいてデータをフィルタリングし、選択に基づいてタグを作成するAngularJs

  8. 8

    選択したオプションに基づいてクエリをフィルターする

  9. 9

    最初の5文字が入力フィールドと等しい場合に選択ボックスオプションを設定する方法

  10. 10

    Javaのリフレクションを使用して異なる数値タイプでNumberフィールドを設定する方法

  11. 11

    フォームオプションを使用してMYSQLクエリをフィルタリングする

  12. 12

    Angular6-リアクティブフォーム-オブジェクトと[選択済み]バインディングを使用する場合、プログラムで選択オプションを設定できません

  13. 13

    選択オプションを入力し、Redux フォームの FieldArray で 2 番目の選択をフィルタリングする方法は?

  14. 14

    AngularJSを使用してドロップダウンリストコントロールの選択したオプションを設定する方法

  15. 15

    選択タグのオプションが選択されている場合、フォームフィールドを動的に追加します

  16. 16

    Ruby onRails-ユーザーが選択したオプションに基づいてレコードをフィルタリングする

  17. 17

    Django:選択した他のフォームフィールドオプションに基づいて、異なるクエリセットでフォームフィールド選択オプションを変更するにはどうすればよいですか?

  18. 18

    チェックボックスをオンにし、フィルターを使用した後に選択したオプションを選択します

  19. 19

    リフレクションを使用してフィールドへのポインターを設定する

  20. 20

    選択オプションタグでphpエコーを使用して値を設定します

  21. 21

    vueで選択フィールドで選択されたオプションを設定するにはどうすればよいですか?

  22. 22

    jqueryを使用して選択フィールドのオプション値の変更を検出する

  23. 23

    時間比較を使用して選択フィールドからオプションを削除する

  24. 24

    ブレードテンプレートのデータベースフィールドに基づいて選択したオプションを設定するにはどうすればよいですか?

  25. 25

    他の選択フィールド選択と設計に基づいて選択オプションリストを更新する

  26. 26

    Laravel:デフォルトオプションを設定するときにフォーム選択がスタイル/クラスで機能しない

  27. 27

    mat-selectコンポーネントを使用してデフォルトで選択されたオプションを設定する正しい方法

  28. 28

    バッチファイルを使用してタスクスケジューラの開始(オプション)プロパティを設定する方法

  29. 29

    SQLデータソースを使用してドロップダウンリストのオプションをフィルタリングする

ホットタグ

アーカイブ