2017-04-04 83 views
0

當通過服務在Sylius(latest-master)中以編程方式創建產品時,我的行爲非常奇怪。Sylius語言環境代碼不正確

我已經定義了一個將容器作爲參數的服務。

my_web.product_from_entity_creator: 
    class: My\WebBundle\Service\ProductFromEntityCreator 
    arguments: 
     - "@service_container" 

在此服務,如果我這樣做:

$localeCode = $this->container->get('sylius.context.locale')->getLocaleCode(); 
$allLocales = $this->container->get('sylius.locale_provider')->getAvailableLocalesCodes(); 
error_log("Locale is " . $localeCode); 
error_log("All locales : " . implode(', ',$allLocales)); 

我有以下結果:

Locale is fr 
All locales : fr_FR 

我不明白,這可怎麼可能呢?地點應該是fr_FR時,並沒有別的...

唯一的問題是,該產品的一些屬性與錯誤的語言環境,訪問產品版本頁面時觸發500創建。 但我的理解,場所背景應該返回「fr_FR目錄」語言區域代碼,而不是「FR」

我已經在我的代碼檢查到處parameters.localefr_FRdefault_localefr_FR,和server/PHP區域設置也是fr_FR

有沒有人知道可能來自哪裏或遇到同樣的行爲?這臺服務器是否相關?與客戶有關?

非常感謝

回答

1

薩呂,

濟crois闕樂sylius.context.locale provient去TA的conf parameters.yml等其他殘疾區域設置SONT CELLESdéclarées丹斯樂後臺...

Vérifie卻突ñ 'aies pas 2 localesdifférentesdéclaréesdans le parameter.yml et config.yml(çavient de m'arriver etçam'a faitpéteruncâble)。 C'est cette locale que Sylius使用了令人驚歎的語言,包括défautdans les formulaires du backoffice。 Ensuite dans ta base dedonnéesvérifiebien que tu asdéclarécette locale et que tu as du fr_FR partout et plus un seul en_US(la valeur qu'ils forcent par parfa faàà'installation de Sylius et qui fait bien chier)

Bon courage avec Sylius ... La doc esttrèsincomplètevoir souventobsolète。

PS:si t'as besoin,il y a un Slack Sylius pour discuter et echanger avec les autresdéveloppeursetoùtu peux partager ton留留Stackoverflow。 On est au moins 2françaisdessus:wyllyjon et tvequaud

+0

Ma conf et toutes les localesdéclaréessont bien'fr_FR' dans tous les fichiers et en base,c'est biençaleproblème。 Donc'sylius.context.locale'將自己的區域設置爲autre part,et,de surcroit,nevérifiepas qu'elle est valide。 – tchap