0

Symfony ウィジェットの ID 生成に問題があります。
(私は symfony を初めて使用するので、間違いを犯した可能性があります。)

仕事で私たちが使用した

$form->render();

フォームをレンダリングすることはできませんでしたが、これではテーブル レイアウトを十分に制御できませんでした。
そのため、レンダリング プロセスを分割し、手動でテーブルを作成する必要がありました。
私は今使用しています

$Form['<cellname>']->render();

単一のウィジェットをレンダリングするため。

しかし、新しいレンダリングでは、ウィジェットの ID が間違っています。

このフォームは、1 人のユーザーが年間にプロジェクトを完了するための割合を追跡するために使用されます。

古いメソッドの ID はすべて次の形式でした。

project_<CustomIdforDifferentYears>_<UserId>_share 

しかし今、私は得る

project_year_member_share

すべてのフィールドに。

4

1 に答える 1

0

symfony は、いくつかのことに基づいてウィジェットの ID を自動的に生成します。

まず、以下のように指定できるフォーム名です。

$this->widgetSchema->setNameFormat('my_form[%s]');

これで、そのフォームのすべてのウィジェットの ID に「my_form」というプレフィックスが付きます。

残りはウィジェット名に由来します。したがって、ウィジェット名が「email」の場合、ウィジェットの ID は「my_form_email」として生成されます。

テンプレートでウィジェットの ID を指定する場合。これは、次のようなオプションの配列を受け入れる render メソッドの一部として行うこともできます。

echo $form['email']->render(array('id' => 'my_different_id'));
于 2012-07-28T06:28:11.730 に答える