3

gedmo doctrine の翻訳可能な拡張機能を使用するエンティティがあります。このエンティティを現在のロケールでロードできます。

ここで、ユーザーがさまざまな翻訳を表示および編集できるようにする管理パネルの場合、すべての翻訳またはユーザーが選択した特定の翻訳を表示したいと考えています。

そのエンティティに ->getTranslations メソッドがあるだけです。選択した翻訳だけを読み込む別のトリックはありますか? 特定のシナリオのベスト プラクティスはありますか?

どうもありがとう!

4

1 に答える 1

0

エンティティ「翻訳リポジトリ」から翻訳を取得し、フォームモデル(翻訳を処理するために作成したモデル)に渡すことでこれを解決しました。

$nodeRepository = $this->getDoctrine()->getRepository('AcmeCoreBundle:Node');
$node = $repository->find($id);

$translationsRepository = $this->getDoctrine()>getRepository('Acme\CoreBundle\Entity\NodeTranslation');

// retrieving the translations for the given node
$translations = $repository->findTranslations($node);

$model = new TranslatableModel($node, $translations, ...);

これが誰かを助けることを願っています...

チャオ

于 2014-05-01T09:31:37.547 に答える