翻译后的占位符值未拉入 Symfony 4 表单字段
Posted
技术标签:
【中文标题】翻译后的占位符值未拉入 Symfony 4 表单字段【英文标题】:Translated placeholder value not pulling through to Symfony 4 form field 【发布时间】:2022-01-01 14:35:09 【问题描述】:% trans_default_domain "admin" %
% form_theme leadForm _self %
form_row(leadForm.phonenumber)
我的表单域定义为:
$builder
->add('phonenumber', TextType::class, [
'label' => false,
'required' => true,
'constraints' => [
new NotBlank(),
],
'attr' => [
'placeholder' => 'change.lead_form.placeholders.phonenumber'
]
])
我正在设置翻译域:
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
$resolver->setDefaults([
'translation_domain' => 'admin',
]);
admin.en.yml
包括以下内容:
change:
lead_form:
placeholders:
phonenumber: Required
但是,当我在表单定义中设置占位符时,它不会显示。如果我在 Twig 中使用attr
属性,我可以将其拉入,但我宁愿在表单定义中这样做。
【问题讨论】:
【参考方案1】:我在the documentation 中显然错过了这一点,但看起来“attr”在最新版本的 Symfony 中被删除了。
这将在 Symfony 4 中工作。
$builder
->add('phonenumber', TextType::class, [
'label' => false,
'required' => true,
'constraints' => [
new NotBlank(),
],
'placeholder' => 'change.lead_form.placeholders.phonenumber'
])
【讨论】:
以上是关于翻译后的占位符值未拉入 Symfony 4 表单字段的主要内容,如果未能解决你的问题,请参考以下文章