166  1

#joomla :: як визначити sef-посилання

Якщо у вас багатомовний сайт, хочеш-не-хочеш, а досить часто потрібно визначити, яка мова в даному випадку в браузері користувача.

#joomla :: як визначити 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 (Ukrainian (Ukraine));
  • назва мови на цій мові 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";

Підписуйтесь. Коментуйте. Діліться відео і статтями – зробимо разом нашу роботу простіше і цікавіше!

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

Igor KRUK

переклад з російської

Створення landing page, сайтів-візиток, корпоративних сайтів, веб-порталів та інтернет-магазинів на різних платформах у розумні строки і…
за розумні гроші.

Якщо ви вже зареєстровані на цьому сайті, або вже залишали тут свої коментарі, відгуки, заявки на участь в акціях, щоб додати ще один коментар – авторизуйтесь

Додати коментар

Коментарі


«ArtInWeb.biz»
  • #16

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


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


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


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

В останнє редагувалось: 16/02/2019