私はSymfony1.4にDoctrineフォームを持っています。
私は何をする必要がありますか:
sfWidgetFormDoctrineChoiceオブジェクトで現在提供しているものと同じ選択肢を表示する必要がありますが、タブ付きのビューで表示したいと思います。
私の現在のビューは次のようになります。
[ ] option1
[ ] option2
[ ] option1.1
[ ] option1.2
[ ] option1.3
[ ] option2.1
[ ] option2.2
[ ] option2.3
[ ] option2.4
そして、私はそれらをこのように見せたいと思います:
+-------------+-------------+
| > option1 < | option2 | (tabs, option1 is the currently selected one)
+-------------+-------------+--------------------------+
[ ] option1.1 (options on first tab)
[ ] option1.2
[ ] option1.3
+------------------------------------------------------+
オプションは、parent
属性を使用して関連付けられます。
一番上の行にあるものはチェックできず、チェックparent
できますNULL
。クラスを拡張する方法、つまり、どのメソッドを再定義するかを知っていれば、その部分を自分で解決できると思います。
私が試したこと:
これはウィジェットのクラス継承です:
sfWidgetFormDoctrineChoice < sfWidgetFormChoice < sfWidgetFormChoiceBase < sfWidgetForm < sfWidget
そして、これはフォームのクラス継承です。
ProductForm < BaseProductForm < BaseFormDoctrine < sfFormDoctrine < sfFormObject
そして、これはウィジェットがビューに印刷される方法です:
<?php echo $form['product_type_list'] ?>
その最後の行で、フォームクラスに魔法の__get()メソッドがあり、ウィジェットクラスに(おそらく)__ toString()メソッドがあると思いましたが、どれも見つかりませんでした。 Symfony1.4とDoctrineでウィジェットを拡張する方法がわからない。
誰かが私を正しい方向に向けることができますか?