Я новичок в symfo, но мне нужно перевести содержимое моего сайта.Как получить перевод «сущности» с помощью Symfony a2lix knp doctrine behaviors translatable
Я использую a2lix (последняя версия) и поведение доктрины KNP (Translatable).
Предположим, что у меня есть 2 объекта (например, статьи и категории).
Как и в документе (https://github.com/KnpLabs/DoctrineBehaviors) для переводов, я использую 2 класса для категорий (категория и категория перевода). Чтобы получить переводы, моей категории, я использую запрос с языковой версией. Я получаю локаль с запросом $ request ($ locale = $ request-> getLocale();). Вот пример моего контроллера и запроса в моем репозитории.
Контроллер
public function indexAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$locale = $request->getLocale();
$entities = $em->getRepository('AcmeBundle:Category')->findAllByLocale($locale);
return $this->render('CTCArtworkBundle:Backend/Artwork:index.html.twig', array(
'entities' => $entities,
));
}
Repository Я пытаюсь получить информацию для локали.
public function findAllByLocale($locale){
return $this->createQueryBuilder('a')
->join('a.translations', 'aTrans')
->where('aTrans.locale = :locale')
->setParameter("locale", $locale)
->addSelect('aTrans')
->getQuery()
->getResult()
;
}
Я не знаю, хорошая практика, но это работает для меня. Я получить пт/ан категории в шаблоне Twig, как и когда я изменить URL:
<tr>
<th>Category</th>
<td>{{ category.translations|First.name }}</td>
</tr>
Моя проблема
Для перевода моей статьи, я делаю то же самое. У меня есть 3 свойства - название - описание - категория (я использую a2lix_translatedEntity (http://a2lix.fr/bundles/translation-form/#bundle-additional))
Когда я пытаюсь сделать запись статьи, я никогда не получить перевод для моей категории Названия, но хорошо для заголовка и описание.
Я также читал, что (https://github.com/KnpLabs/DoctrineBehaviors#guess-the-current-locale), но я действительно не понимаю. Это способ всегда проходить локаль?
Что я делаю неправильно?
Я заблокирован и не нашел документов для решения проблемы. Извините за мой английский ;-)
Любая помощь будет очень признательна. Many Thanks
посмотреть на [этот ответ] (http://stackoverflow.com/questions/29232860/how-to-access-translated-property-using-knp-labs -транспалируемое-доктрина-поведение/29233740 # 29233740), это может быть полезно для вас. –
@gp_sflover, большое спасибо, вы тоже спасете мою жизнь. –