2017-04-04 4 views
0

Sylius(最新マスター)でサービスを使用してプログラムを作成するとき、私は非常に奇妙な動作をします。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 

を私はこれを可能にする方法を理解していませんか?ロケールは、唯一の問題は、製品のいくつかの属性は、製品版のページにアクセスしたときに500をトリガし、間違ったロケールで作成されていることである

... fr_FRのと何もする必要があります。 しかし、私の理解に、ロケールコンテキストは返す必要があります「fr_FRの」ロケールコードとしてではなく、「FR」

私は自分のコード内のどこでもをチェックしているとparameters.localeは/ default_localefr_FRで、fr_FRあり、そしてserverPHPロケールもfr_FRです。

どこから来て同じ行動をとることができるかというアイデアは誰かありますか?このサーバーは関連していますか?クライアント関連?

どうもありがとう

答えて

1

サリュー、

のJe crois queのルsylius.context.locale provientデparameters.ymlらレアクセサリー - リモコン、スイッチをCONF TAはsontよる:cellesdéclaréesDANSル・バックオフィス...

VérifieQUE TU Nロケールparameter.ymlとconfig.ymlの間には、2つのロケールの違いがあります(これは、m'arriver etçam'a fait p unter uncâbleです)。 Cylestロケールでは、Syliusはバック・オフィスのフォームを使用します。 Ensuiteは、デュララティブベースのデュエーヌは、デュララルカットロケールとデュールとして、また、fr_FR partout et plus un seul en_US(シリウスとデフュールのインスタレーションを進めています)

勇気とシルリウス...ラ・ドゥク・エスト・トリズ・イン・ムーヴェルト・ヴェール・ソンヴェン・オブゾーラテ。

PS:スラック・シリウスは、ディスクリプタとエクスチェンジ・アベレージ・オート・デベロッパー・エー・トゥ・プー・パウセ・パーティー・トゥ・リアン・スタック・オーバー・フロアエスト・オ・モン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。ドンシリアスは、自治区の外に出て、外に出て、外に出て行った。 – tchap

関連する問題