我有休闲的表单结构:
abstract class BaseContentType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
//common fields
}
public function getDefaultOptions() {
return array(
'translation_domain' => 'MyBaseBundle',
'isNew' => false,
);
}
}
class SpecializedContentType extends BaseContentType {
public function buildForm(FormBuilderInterface $builder, array $options) {
parent::buildForm($builder, $options);
//more fields....
}
public function getName() {
return 'specialized_content';
}
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$options = $this->getDefaultOptions() + array(
'data_class' => 'whatever\Entity\Specialized',
);
$resolver->setDefaults($options);
}
}
Run Code Online (Sandbox Code Playgroud)
对于BaseContentType和每个子类,我需要具有不同的转换域。
如何为类及其父级添加单独的翻译域?
注入翻译器
__construct($translator) {
$this->translator = $translator
}
Run Code Online (Sandbox Code Playgroud)
现在,对于每个字段,您都可以使用它来翻译所需的内容
$formbuilder
-> add('field1','text',array(
'label'=> $this->translator->trans('mylabel1',array(),'domain_A')))
-> add('field2','text',array(
'label'=> $this->translator->trans('mylabel2',array(),'domain_B')))
-> add('field3','text',array(
'label'=> $this->translator->trans('mylabel3',array(),'domain_C')));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2418 次 |
| 最近记录: |