私はSymfonyフォームのテーマファイルform_div_layout.html.twigで利用できるすべての変数を取得したいと思います。私はSymfonyの公式ドキュメントを読んでウェブで検索しましたが、これに関する有益な情報は見つかりませんでした。form_div_layout.html.twigで使用できる変数の完全なリストはありますか?
答えて
あなたは、元のファイルのうち、もののすべてを引き出し、あなたが必要なだけoverloadなものができます。
vendor/symfony/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
私が利用可能な変数(上のドキュメントの欠如であること、最近は同じ問題を打ちます属性)をテーマに使用しています。最終的には、私が知っていた変数をベンダーのフォルダ(検索に時間がかかっていました)から検索して、他に利用可能なものがあるかどうかを調べることで解決策を見つけました。
私にとって最高の場所はここで見ていた:Symfonyの\コンポーネント\フォーム\拡張\コア\タイプ
基本型、FIELDTYPEであることがプロトタイプがある
$view
->set('form', $view)
->set('id', $id)
->set('name', $name)
->set('full_name', $fullName)
->set('errors', $form->getErrors())
->set('value', $form->getClientData())
->set('read_only', $form->isReadOnly())
->set('required', $form->isRequired())
->set('max_length', $form->getAttribute('max_length'))
->set('pattern', $form->getAttribute('pattern'))
->set('size', null)
->set('label', $form->getAttribute('label'))
->set('multipart', false)
->set('attr', $form->getAttribute('attr'))
->set('types', $types)
;
buildView
経由でこれらの変数を提供しますallow_addとallow_deleteのようにコレクション型にのみ存在する属性は、同じフォルダー内のCollectionTypeを参照してください。ベースのFieldTypeの後に、これが完全なリストであるように見えます。まあ
CheckboxType.php: ->setAttribute('value', $options['value'])
ChoiceType.php: ->setAttribute('choice_list', $options['choice_list'])
ChoiceType.php: ->setAttribute('preferred_choices', $options['preferred_choices'])
ChoiceType.php: ->setAttribute('multiple', $options['multiple'])
ChoiceType.php: ->setAttribute('expanded', $options['expanded'])
ChoiceType.php: ->setAttribute('required', $options['required'])
ChoiceType.php: ->setAttribute('empty_value', $emptyValue)
CollectionType.php: ->setAttribute('prototype', $prototype->getForm());
CollectionType.php: ->setAttribute('allow_add', $options['allow_add'])
CollectionType.php: ->setAttribute('allow_delete', $options['allow_delete'])
DateTimeType.php: ->setAttribute('widget', $options['widget']);
DateType.php: ->setAttribute('formatter', $formatter)
DateType.php: ->setAttribute('widget', $options['widget']);
FormType.php: ->setAttribute('virtual', $options['virtual'])
MoneyType.php: ->setAttribute('currency', $options['currency'])
PasswordType.php: ->setAttribute('always_empty', $options['always_empty']);
RadioType.php: ->setAttribute('value', $options['value'])
TimeType.php: ->setAttribute('widget', $options['widget'])
TimeType.php: ->setAttribute('with_seconds', $options['with_seconds'])
ありがとう、私は試してみると、私はそれらを使用する方法を参照してください。 – imikay
'collectionType'では、コレクションに含まれる各入力フィールドをどのように反復処理できますか?フォーム全体の親要素や部分にアクセスする方法を知っていますか? [この質問を参照してください](http://stackoverflow.com/questions/26184990/set-the-input-labels-for-each-field-as-headers-in-symfony-collection-widget) –
、あなたはコンテキストを繰り返すことによって、各ブロック内のすべての利用可能な変数を取得することができます:
{% block form_widget_simple %}
<ol>
{% for key, value in _context %}
<li>{{ key }}</li>
{% endfor %}
</ol>
{% spaceless %}
{% set type = type|default('text') %}
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}/>
{% endspaceless %}
{% endblock form_widget_simple %}
そして、あなたはあなたを使用したい場合は、実際のクラスを上書きする必要がありますそれらのウィジェットをレンダリングしている、ちょうど@Gregoireが示唆したように、あなたがバージョン1.5(http://twig.sensiolabs.org/doc/functions/dump.html)から{{ dump(_context) }}
を使用することができ、... AbtractType :: buildViewで
を見て、それは情報の大きな額を印刷されることに注意してください。
'{{dump(value)}}'をループ内で使用して、変数の内容を表示します。 – Gregoire
ああ、ありがとうございました。 –
@Gregoire In Symfony 2.5 '{{dump(value)}}'は、値がオブジェクトの場合にページ全体を白くします(メモリリークがわかっていることがわかります)。ダンプ)。 –
ここに私の答えを参照してください:https://stackoverflow.com/a/41020474/5758328
申し訳ありません...あなたが私を見つけたあなたは、単に
{% dump %}
を使用する必要があるとテンプレートで利用可能なすべての変数は、プロファイラ
- 1. Java非端末の完全なリストはありますか?
- 2. jsdomを完全なサンドボックスで使用する方法はありますか?
- 3. WPF/XAMLでコントロールのトリガの完全なリストはどこにありますか?
- 4. 完全なページングはありますか?
- 5. 不完全な型のリストのイテレータを使用できますか?
- 6. 完全リモートバックアップを作成できるスクリプトはありますか?
- 7. エラー:変数に不完全な型がありますstruct intVec?
- 8. 完全多型関数を使用できますか?
- 9. AmazonのAPIの完全なリストはどこかにありますか?
- 10. 完全なプロファイラがありますか?
- 11. 完全なリストにはありません
- 12. iDeviceからプログラムでクエリできる状態の完全なリスト
- 13. テンプレートがAngular2で完全にレンダリングされたときに使用できるメソッドはありますか?
- 14. iOSアプリの権限の完全なリストはどこにありますか?
- 15. es5、es6、es7の機能の完全なリストはどこにありますか?
- 16. 登録されたコマンドの完全なリストはどこにありますか?
- 17. VS2010ではASP.NET Web APIの完全なリリースを使用できますか?
- 18. クロム用の完全なブラウザコントロールがありますか?
- 19. 1つの変数ではなく、リスト全体に対してcount()を使用できますか?
- 20. Twitterのブートストラップは、ラベル付きのアイコンの完全なリストです
- 21. IronPythonをVS 2k10 IDE内で完全に使用する実用的な方法はありますか?
- 22. FacebookのグラフのAPIの友人のリストは完全ではありません
- 23. 変数のリスト<>は使用できますか?
- 24. 完全に完全なHTMLが生成されたページをJavaでロードする方法はありますか?
- 25. Cでは、不完全な型の配列へのポインタを使用する必要がありますか?
- 26. ファイルからのリストの完全一致でgrepを使用
- 27. 再利用の回数がメインクエリの列の完全なリストでない場合、サブクエリを再利用する方法はありますか?
- 28. なぜCabalは完全なパッケージマネージャーではありませんでしたか?
- 29. EMVタグ9F7E - アプリケーション・ライフ・サイクル・データ用のさまざまなJavaカードの完全なリストがありますか?
- 30. Knockout.js:ko.applyBindings(viewModel) - > applyBindingの完全なイベントはありますか?
にダンプされます役に立った? – coma
私はこれでも多くの時間を無駄にしています。 –