【发布时间】:2017-05-16 06:58:36
【问题描述】:
我想为每个表单元素实现自定义帮助消息(html 数据属性)。帮助消息在 YAML 语言文件 (messages.en.yml) 中定义,并非所有表单元素都有帮助消息。
问题是我不确定是否可以使用 Symfony FormType 或 Symfony Form 事件来完成。
我正在考虑将表单事件创建为服务并注入翻译服务,然后从那里操作数据并添加帮助程序类,但我没有找到任何可靠的示例如何做到这一点。
我正在考虑的其他选择是使用 Trait 并在 trait 中注入翻译服务,然后从那里开始开发我的代码,但感觉不太对。
有人可以分享他们的经验和线索如何解决这个特定问题吗?
这是我的设置
messages.en.yml
intro:
created: Intro created!
edited: Intro has been edited successfully!
deleted: Intro has been has been deleted!
index:
title: List of all intros
new:
title: New intro
show:
title: Details of intro
edit:
title: Edit intro
form:
title: Title
content: Content
isEnabled: Is active
tooltip:
title: Please enter title
我的表单类型:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title', TextType::class, array(
'label_format' => 'admin.intro.form.%name%',
'attr' => [
'data-helper' => 'Please enter title'
]
)
)
->add('content', TextareaType::class, array(
'label_format' => 'admin.intro.form.%name%',
'required' => false,
'attr' => [
'class' => 'mceEditor'
]
)
)
->add('isEnabled', CheckboxType::class, array(
'label_format' => 'admin.intro.form.%name%',
'required' => false,
)
【问题讨论】:
标签: php forms symfony symfony-3.1