usetwice / personal-translations-widget-bundle
基于个人翻译添加翻译小部件
v0.2.2
2012-12-09 17:03 UTC
Requires
- stof/doctrine-extensions-bundle: dev-master
- symfony/framework-bundle: 2.1.*
- twig/extensions: 1.0.*
This package is not auto-updated.
Last update: 2024-09-28 13:19:57 UTC
README
添加到 composer.json
"ladela/personal-translations-widget-bundle" : "dev-master"
添加到 AppKernel.php
new Ladela\PersonalTranslationsWidgetBundle\PersonalTranslationsWidgetBundle(),
复制或创建符号链接文件
Resources/views/Form/translatable_field_widget.html.twig located in the bundle directory
~~~~
to
~~~~
/app/Resources/views/translatable_field_widget.html.twig locate din the project root
语言配置
config.yml
personal_translations_widget:
getter: your-languages-getter-service-id
服务类必须实现 TranslationsGetterInterface 并返回语言键 => 标签对的数组
use Ladela\PersonalTranslationsWidgetBundle\TranslationsGetter\TranslationsGetterInterface;
class LanguagesGetter implements TranslationsGetterInterface
{
public function getLanguages()
{
return array('en' => 'English', 'de' => 'Deutsch');
}
}
或使用语言作为数组
personal_translations_widget:
languages:
en: English
es: Spanish
Sonata Admin 示例
protected function configureFormFields(FormMapper $form)
{
$subject = $form->getAdmin()->getSubject();
$form
->add('translations', 'translatable_field', array(
'personal_translation' => 'Site\BaseBundle\Entity\AccommodationTranslation',
'fields' => array('title', 'description', 'secondary_text'),
'widgets' => array('title' => 'text', 'description' => 'textarea', 'secondary_text' => 'textarea'),
'field_options' => array('secondary_text' => array('attr' => array('class' => 'text-field')))
))
}