0

hook_form_alter を使用して、一連のボタンを含むフィールドセットがノードの編集/追加フォームに追加されるモジュールを作成しています。

フィールドセット (ボタン) は、フィールドの特定のウィジェットに接続されることになっています。たとえば、コンテンツ タイプ「myContentType」のボディ フィールド ウィジェットなどです。私は常に、フィールドのフィールドセットとウィジェットを一緒にフォームに配置したいと考えています。これを実現するには、フォーム要素の #weight プロパティを使用すると考えました。

だから hook_form_alter で私は設定しました:

$form['buttonFieldset'][#weight] = $form['body']['#weight'] - 1; 

その後、$form 配列をチェックインすると、ボタン フィールドの重みが関連付けられたウィジェットより 1 つ小さい重みに設定されました。これで本文のテキストエリアのすぐ上に配置されると思ったのですが、そうはなりませんでした。なぜだか知っている人はいますか?または、私が望むものを達成するための他の方法はありますか?

4

1 に答える 1

0

fielddset の重みを body フィールドの重みに設定し、body フィールドをリストの下の方に移動してみてください。そう:

$form['buttonFieldset']['#weight'] = $form['body']['#weight'];
...
$form['body']['#weight'] = $form['body']['#weight'] + 1;

Drupal は、タイトル フィールドの を変更してもタイトル フィールドを移動することを好まないように思われるため、ボディ フィールドのすぐ上にタイトルがある場合は特に、これは機能し#weightます。間にtitle何かを入れるために上に移動することはできませんでしたが、下に移動することはできます。titlebodybody

于 2012-07-26T20:52:04.117 に答える