2015-02-08 23 views
0

我堅持使用TranslatableListener的$ defaultLocale。ZF2中可翻譯的DoctrineExtensions - 如何以及在哪裏可以設置DefaultDeocLI

https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/translatable.md#default-locale

我發現只有針對交響樂團設置的可能性,但不爲Zend框架2.

沒有爲教義名爲「StofDoctrineExtensionsBundle」 DoctrineExtensions的易於安裝的擴展束,但我沒有發現類似ZF2的東西。

以下鏈接顯示了設置可翻譯和其他DoctrineExtensions的最佳實踐,但我應該在哪裏放置它並且沒有更簡單的方法?

https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/annotations.md#best-practices-for-setting-up-with-annotations

我只是想知道我怎麼可以配置TranslatableListener的$ defaultLocale在ZF2環境。

UPDATE:

我想在我的引導下:

$translatableListener = new TranslatableListener(); 
$translatableListener->setDefaultLocale('de-DE'); 
$doctrineEventManager->addEventSubscriber($translatableListener); 

但仍然得到:

... /供應商/ gedmo /學說的擴展/ lib目錄/ Gedmo /可轉換/TranslatableListener.php:464 Gedmo \ Translatable \ Mapping \ Event \ Adapter \ ORM-> loadTranslations

$object Rental\Entity\Rental 
$translationClass "Rental\Entity\RentalTranslation" 
$locale "en_US" 
$objectClass "Rental\Entity\Rental" 

回答

1

所以我的錯誤是,我配置了TranslatableListener兩次。

在我的教訓配置(僅適用於解釋有再發表評論,刪除整行):

'doctrine' => [  
    'eventmanager'    => [ 
     'orm_default' => [ 
      'subscribers' => [ 
       'Gedmo\Timestampable\TimestampableListener', 
       'Gedmo\Sluggable\SluggableListener', 
       // 'Gedmo\Translatable\TranslatableListener', 
      ], 
     ], 
    ], 

和引導:

// sets the default locale and the actual locale 
$translatableListener = new TranslatableListener(); 
$translatableListener->setDefaultLocale('de-DE'); 
$translatableListener->setTranslatableLocale(\Locale::getDefault()); 
$doctrineEventManager->addEventSubscriber($translatableListener); 

如果你想設置的DefaultLocale和Zend Framework 2中的TranslatableLocale用於可翻譯的Doctrine擴展,比在引導中更好,並且不要在Doctrine配置中第二次添加它。

0

如果你想保留:

'doctrine' => [  
'eventmanager'    => [ 
    'orm_default' => [ 
     'subscribers' => [ 
      'Gedmo\Timestampable\TimestampableListener', 
      'Gedmo\Sluggable\SluggableListener', 
      // the line below because in future you might need it 
      'Gedmo\Translatable\TranslatableListener', 
     ], 
    ], 
], 

試試這個: https://stackoverflow.com/a/42859119/3661592

相關問題