2017-11-10 17 views
0

c5.7에서 구성 변수 concrete.multilingual.default_locale은 concrete5 설치의 기본 로케일을 저장했습니다.c5-8에서이 변수에 더 이상 액세스 할 수 없습니다. 새로운 C5-8 설치에서이 값을 얻으려면 어떻게해야합니까?초기 단계에서 기본 로케일을 얻는 방법

답변

0

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; 
     } 
    } 
} 

의 Src : concrete/src/Entity/Site/Site