Многоязычность (мультиязычность) сайта на 1С-Битрикс
Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работыМногоязычность (мультиязычность) сайта на 1С-Битрикс
Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работы
📅 25 июля 2024
👁🗨 249
1. Добавляем в конец файла /bitrix/php_interface/dbconn.php
<?
$arLang = array("ru", "en");
if (isset($_GET["user_lang"]) && in_array($_GET["user_lang"], $arLang))
{
setcookie("USER_LANG", $_GET["user_lang"], time()+9999999, "/");
define("LANGUAGE_ID", $_GET["user_lang"]);
}
elseif (isset($_COOKIE["USER_LANG"]) && in_array($_COOKIE["USER_LANG"], $arLang))
{
define("LANGUAGE_ID", $_COOKIE["USER_LANG"]);
}
?>
2. Добавляем в файл /local/templates/s1/header.php
<html lang="<?= LANGUAGE_ID; ?>">
<a href="?user_lang=ru">RU</a>
<a href="?user_lang=en">ENG</a>
3. Добавляем компонентам условия, например компоненту меню
<? $APPLICATION->IncludeComponent(
"bitrix:menu",
"menu",
array(
"CHILD_MENU_TYPE" => LANGUAGE_ID == "en" ? "top_en" : "top_ru",
"ROOT_MENU_TYPE" => LANGUAGE_ID == "en" ? "top_en" : "top_ru",
),
false
); ?>