1928  1

#joomla[fag] :: как определить sef-ссылку

Если у вас мультиязычный сайт, хочешь-не-хочешь, а довольно часто нужно определить, какой язык в данном случае в браузере пользователя.

#joomla[fag] :: как определить sef-ссылку

Чтобы получить значение текущего языка пользователя типа 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";

Если вам понравилась эта статья – комментируйте, делитесь в социальных сетях (кнопки «Поделиться» слева страницы).

Удачи, Мира и Добра!

Если вы уже зарегистрированы на этом сайте, или уже оставляли здесь свои комментарии, отзывы, заявки на участие в акциях, чтобы добавить ещё один комментарий – авторизуйтесь

Добавить комментарий

Комментарии


«ArtInWeb.biz»
  • #16

UA :: У коментарях ви можете щось додати або уточнити, у т.ч. поділитися вашим кодом.


RU :: В комментариях вы можете что-то добавить или уточнить, в т.ч. поделиться вашим кодом.


EN :: In comments you can add or clarify something, including share your code.


© «ArtInWeb.biz» – веб-разработка полного цикла

Последний раз редактировалось: 03/04/2020