如何订购翻译与未翻译的领域使用学说翻译可翻译扩展与A2lix翻译形式? [英] How to order translated with not translated fields using doctrine knp translatable extentions with A2lix translation form?

查看:182
本文介绍了如何订购翻译与未翻译的领域使用学说翻译可翻译扩展与A2lix翻译形式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种简单的方法来编辑symfony2表单中的翻译字段。我正在使用主体翻译可翻译的扩展来翻译实体。表单混合不按特殊顺序翻译。表格只能以活动语言显示(结束编辑)。例如:

  $ builder 
- > add('key')
- > add ('translate1','text',array(
'property_path'=>'translations [de] .translate1',
))
- > add('mynumber')
- > add('translate2','text',array(
'property_path'=>'translations [de] .translate2',
))

如果语言翻译[de]不存在,我得到一个错误:无法从数组读取属性translate1...

A2LiX Translation Form不是解决方案,因为它在单个列表中显示所有translatabe字段。



任何想法?

解决方案

如果您需要显示表单字段按特定顺序排列(使用A2lix),您可以像下面这样做:

  $ builder 
- > ;'add'('key')
- > add('mynumber')
- > add('translations','a2lix_translations',[
'required_locales'=> [' de'],< - 您当前的语言环境
'字段'=> [
'translate1'=> [
#您的字段选项
],
'translate2'=> [
#您的字段选项
],
))

然后在视图中:

  {%importA2lixTranslationFormBundle :: macros.html.twigas a2lixTranslations%} 

{{form_errors(form_edit)}}
{{form_start(form_edit)}}
{{form_row(form_edit。 key)}}
{{a2lixTranslations.partialTranslations(form_edit.translations,['translate1'])}}
{{form_row(form_edit.mynumber)}}
{{a2lixTranslations.partialTranslations form_edit.translations,['translate2'])}}
{{form_end(form_edit)}}


I'm searching for a simple way to edit translated fields within a symfony2 form. I'm using the doctrine knp translatable extentions for translation of the entity. The form mixes not translated with translated properties in a special order. The form should be displayed (end edit) only in the active language. For example:

 $builder
 ->add('key')
 ->add('translate1','text',array(
    'property_path' => 'translations[de].translate1',
 ))
 ->add('mynumber')
 ->add('translate2','text',array(
    'property_path' => 'translations[de].translate2',
))

If the language translations[de] does not exists i get an error: "Cannot read property "translate1" from an array... "

A2LiX Translation Form is not the solution, because it displays all translatabe fields in a single list.

Any ideas?

解决方案

If you need to display the form fields in a specific order (using A2lix) you can do it like in this example:

$builder
     ->add('key')
     ->add('mynumber')
     ->add('translations', 'a2lix_translations', [
         'required_locales' => ['de'], <-- your current locale
             'fields'           => [
                 'translate1' => [
                     # your field options
                 ],
                 'translate2' => [
                     # your field options
                 ],
    ))

Then in the view:

{% import "A2lixTranslationFormBundle::macros.html.twig" as a2lixTranslations %}

{{ form_errors(form_edit) }}
{{ form_start(form_edit) }}
{{ form_row(form_edit.key) }}    
{{ a2lixTranslations.partialTranslations(form_edit.translations, ['translate1']) }}
{{ form_row(form_edit.mynumber) }}
{{ a2lixTranslations.partialTranslations(form_edit.translations, ['translate2']) }}
{{ form_end(form_edit) }}

这篇关于如何订购翻译与未翻译的领域使用学说翻译可翻译扩展与A2lix翻译形式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆