本文整理汇总了PHP中Concrete\Core\Multilingual\Page\Section\Section::getByLocaleOrLanguage方法的典型用法代码示例。如果您正苦于以下问题:PHP Section::getByLocaleOrLanguage方法的具体用法?PHP Section::getByLocaleOrLanguage怎么用?PHP Section::getByLocaleOrLanguage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Concrete\Core\Multilingual\Page\Section\Section
的用法示例。
在下文中一共展示了Section::getByLocaleOrLanguage方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPreferredSection
/**
* Returns the preferred section based on session, cookie,
* user object, default browser (if allowed), and finally
* site preferences.
* Since the user's language is not a locale but a language,
* attempts to determine best section for the given language.
*
* @return Section
*/
public static function getPreferredSection()
{
$site = \Site::getSite();
$locale = false;
$app = Facade::getFacadeApplication();
// they have a language in a certain session going already
$session = $app->make('session');
if ($session->has('multilingual_default_locale')) {
$locale = $session->get('multilingual_default_locale');
} else {
$cookie = $app->make('cookie');
if ($cookie->has('multilingual_default_locale')) {
$locale = $cookie->get('multilingual_default_locale');
}
}
if ($locale) {
$home = Section::getByLocale($locale);
if ($home) {
return $home;
}
}
$u = new \User();
if ($u->isRegistered()) {
$userDefaultLanguage = $u->getUserDefaultLanguage();
if ($userDefaultLanguage) {
$home = Section::getByLocaleOrLanguage($userDefaultLanguage);
if ($home) {
return $home;
}
}
}
$config = $site->getConfigRepository();
if ($config->get('multilingual.use_browser_detected_locale')) {
$home = false;
$locales = \Punic\Misc::getBrowserLocales();
foreach (array_keys($locales) as $locale) {
$home = Section::getByLocaleOrLanguage($locale);
if ($home) {
break;
}
}
if ($home) {
return $home;
}
}
$site = \Site::getSite();
return Section::getByLocale($site->getDefaultLocale());
}
示例2: getPreferredSection
/**
*
* Returns the preferred section based on session, cookie,
* user object, default browser (if allowed), and finally
* site preferences.
* Since the user's language is not a locale but a language,
* attempts to determine best section for the given language.
* @return Section
*/
public static function getPreferredSection()
{
$locale = false;
// they have a language in a certain session going already
if (Session::has('multilingual_default_locale')) {
$locale = Session::get('multilingual_default_locale');
} else {
if (Cookie::has('multilingual_default_locale')) {
$locale = Cookie::get('multilingual_default_locale');
}
}
if ($locale) {
$home = Section::getByLocale($locale);
if ($home) {
return $home;
}
}
$u = new \User();
if ($u->isRegistered()) {
$userDefaultLanguage = $u->getUserDefaultLanguage();
if ($userDefaultLanguage) {
$home = Section::getByLocaleOrLanguage($userDefaultLanguage);
if ($home) {
return $home;
}
}
}
if (Config::get('concrete.multilingual.use_browser_detected_locale')) {
$home = false;
$locales = \Punic\Misc::getBrowserLocales();
foreach (array_keys($locales) as $locale) {
$home = Section::getByLocaleOrLanguage($locale);
if ($home) {
break;
}
}
if ($home) {
return $home;
}
}
return Section::getByLocale(Config::get('concrete.multilingual.default_locale'));
}