當通過服務在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.locale
爲fr_FR
,default_locale
是fr_FR
,和server
/PHP
區域設置也是fr_FR
。
有沒有人知道可能來自哪裏或遇到同樣的行爲?這臺服務器是否相關?與客戶有關?
非常感謝
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