0
c5.7では、config変数concrete.multilingual.default_locale
にconcrete5インストールのデフォルトロケールが保存されました。c5-8では、この変数にはもうアクセスできません。新しいc5-8のインストールでこの価値をどのように得ることができますか?初期段階でデフォルトロケールを取得する方法
c5.7では、config変数concrete.multilingual.default_locale
にconcrete5インストールのデフォルトロケールが保存されました。c5-8では、この変数にはもうアクセスできません。新しいc5-8のインストールでこの価値をどのように得ることができますか?初期段階でデフォルトロケールを取得する方法
concrete5は同じインストールで複数のサイトを提供するので、すべてのサイトで特定のデフォルト言語が必要です。したがって、デフォルトのロケール設定変数は意味がなくなり、デフォルトのロケールはdbテーブルsites
に格納されます。
アクセス、定義されたすべてのサイトのデフォルトロケール:
$defaultLocales = [];
$sl = new \Concrete\Core\Site\SiteList();
$sites = $sl->get();
foreach ($sites as $site) {
$defaultLocales[$site->getSiteID()] = $site->getDefaultLocale();
}
以下は、c5.7のための後方互換性で見つかった最初のサイトのため、この値を取得する方法を示します。
$defaultLocale = Config::get('concrete.multilingual.default_locale');
if (!$defaultLocale) {
if (class_exists('\Concrete\Core\Site\SiteList')) {
$sl = new \Concrete\Core\Site\SiteList();
$sites = $sl->get();
foreach ($sites as $site) {
$defaultLocale = $site->getDefaultLocale();
break;
}
}
}