我有一个表单,其中一些元素用于一个元素,我想在属性(数据占位符,它是JQuery Extension的名称)中使用翻译器。
$builder->add('items', 'entity', array(
'label' => 'MyBundle.items',
'required' => true,
'em' => $this->em,
'multiple' => true,
'expanded' => false,
'attr' => array(
'placeholder' => 'MyBundle.items.placeholder',
'data-placeholder' => 'MyBundle.items.placeholder.data',
),
));
是否可以将翻译器用于此类属性?是用于占位符还是用于标签?
有一个解决此问题的解决方案,但我想知道实体类型内部的解决方案。
如果有人需要Twig解决方案:
{{ form_widget(form.items, {'attr': {'data-placeholder': 'MyBundle.items.placeholder.data'|trans } }) }}
好吧,如果您不是在谈论通过注释进行翻译,那么这实际上是您想要做的,不是吗?
class SomeFormType extends AbstractType {
protected $container;
public function __construct($container){
$this->container = $container;
}
public function buildForm(FormBuilderInterface $builder, array $options){
$trans = $this->container->get('translator');
$builder->add('items', 'entity', array(
'label' => 'MyBundle.items',
required' => true,
'em' => $this->em,
'multiple' => 'true',
'expanded' => false,
'attr' => array(
'placeholder' => $trans->translate('MyBundle.items.placeholder'),
'data-placeholder' => $trans->translate('MyBundle.items.placeholder.data'),
),
));
}
}
//resources/config/services.yml
services:
form.serivce:
class: SomeBundle\Form\SomeFormType;
arguments: ["@service_container"]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句