我正在尋找一種方法來管理MyFormType.php
中的所有表單數據。到目前爲止,我已經有label
和placeholder
,但我想存儲一個額外的字符串,例如爲「更多詳情」。Symfony/Twig:如何將附加數據傳遞給表單?
的appbundle \表格\型號\ MyFormType.php
// ...
$builder->add('fieldname', TextType::class, [
'label' => 'My label',
'attr' => ['placeholder' => 'My placeholder'],
'additionalData' => ['info' => 'More information] // <- ???
]);
// ...
myForm.html.twig
Label: {{form_label(form.fieldname)}}
Textfield: {{form_widget(form.fieldname)}}
Info: {{form_additionalData(form.fieldname, 'info')}} {# ??? #}
我在想通過data-*
-attribute像傳遞數據:
// ...
'attr' => ['data-info' => 'more information']
// ...
但是,如何以良好的方式讀取數據,而不需要使用多變的解決方法?
這個問題的最佳/良好做法?
提前致謝!
您可以通過form.fieldname.vars.attr訪問'attr'值。這將返回你的數組。 –
對所有類型都沒有* easy *方法。最直接的方式是將一個[表單擴展](https://symfony.com/doc/current/form/create_form_type_extension.html)添加到基本表單類型以允許一個新選項。這個選項將在模板中可用。儘管您還需要自定義表單小部件以實際使用該新選項。 – Yoshi
@yoshi。來吧,這並不難。你不需要任何形式的擴展。 –