Чтобы получить значение текущего языка пользователя типа ru-RU, uk-UA, en-GB, en-US и пр., вам нужно сначала обратиться к объекту CMS Joomla! – Language.
$language = JFactory::getLanguage();
$languages = JLanguageHelper::getLanguages('lang_code');
$sefLangCode = $languages[$language->getTag()]->lang_code;
Если вам нужно только sef-значение (en, ru, uk etc.) для формирования линка (или что-то вроде этого), в конце третьей строчки вышеприведенного кода, вместо lang_code поставьте sef.
$language = JFactory::getLanguage();
$languages = JLanguageHelper::getLanguages('lang_code');
$sefLang = $languages[$language->getTag()]->sef;
Для получения значений типа:
- системного названия текущего языка sef на title (Russian (russia));
- название языка на этом языке sef на title_native (русский);
Если вам нужно использовать эти значения в нескольких файлах, лучше всего вынести определение этих параметров в отдельный файл, и подключать его там, где это нужно.
<?
/**
* @package «ArtInWeb.biz» - Full Stack Web Development
* @subpackage file sefLang.php
*
* @copyright Copyright (C) 2004 - 2018 «ArtInWeb.biz», Inc. All rights reserved.
* @license MIT
*/
defined('_JEXEC') or die;
if (!isset($sefLang)) {
$language = JFactory::getLanguage();
$languages = JLanguageHelper::getLanguages('lang_code');
$sefLang = $languages[$language->getTag()]->sef;
} else {
$sefLang = &$sefLang;
}
// include JPATH_ROOT . "/templates/tour_template/include/sefLang.php";
Если вы уже зарегистрированы на этом сайте, или уже оставляли здесь свои комментарии, отзывы, заявки на участие в акциях, чтобы добавить ещё один комментарий – авторизуйтесь
Добавить комментарий