我们最终将升级到Symfony 3,但这会导致一些问题。
我要解决的当前问题是https://api.symfony.com/2.8/Symfony/Component/Form/FormTypeInterface.html#method_getName女巫已被弃用。
FormTypeInterface#getName()
被用来创建一个昵称,在树枝表单模板中被使用。
自定义表单类型示例:
class MyCustomType extends AbstractType {
// ...
public function getName() {
return 'my_custom';
}
}
Twig中的示例模板行:
{% block my_custom_row %}
{# ... #}
{% endblock %}
问题:
Symfony 3+中自定义表单类型的命名约定是什么?即我应该如何命名树枝块以自定义表单行/窗口小部件/错误呈现?
答案 0 :(得分:1)
默认情况下,Twig块应命名为FormType
后缀为Type
的类。即。 my_custom_row
代表*_row
区块。
其他更自定义的方式是添加功能getBlockPrefix()
(https://api.symfony.com/3.1/Symfony/Component/Form/FormTypeInterface.html#method_getBlockPrefix)。该函数应该返回与getName()
之前完全相同的块名前缀,但这是可选的,并且仅当块前缀与类名不同时才需要。
在Symfony4中,还可以使用选项block_name
覆盖默认值。