Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

Модуль подключения языковых файлов для публичной части | Weblooter Inc.

Битрикс - отличная платформа. Хотите многоязычный сайт - без проблем.Для модулей есть возможность подключить языковой файл через IncludeModuleLangFile(__FILE__), для шаблонов компонентов - IncludeTemplateLangFile(__FILE__), для публичной части...Эм... А вот тут, пожалуй, проблема. Стандартного функционала нет. Сделаем костыль свой функционал? Или старое и проверенное example.com/ru/ и example.com/en/ ?Неудобно... Стандартный подход для компонентов и модулей удобней, да и привычнее как то...Ну так зачем от него отказываться? Просто установите модуль и используйте фунцию IncludePublicLangFile(__FILE__) на здоровье!Структура остается той же - в разделе, в котором вызываем функцию создаем директорию lang , а в ней по стариночке /ru/ , /en/ , и другие, какие только душе угодны =)P.S. Для тех, кто не в курсе как создавать и подключать языковые шаблоны необходимо ознакомится с api

Модуль подключения языковых файлов для публичной части | Weblooter Inc.

Модуль подключения языковых файлов для публичной части | Weblooter Inc.

Скриншоты
Описание

Технические данные

Опубликовано:
08.12.2014
Версия:
1.0.2
Установлено:
100 - 499 раз
Подходящие редакции:
«Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Эксперт», «Бизнес», «Корпоративный портал», «Энтерпрайз»
Адаптивность:
Нет
Поддержка Композита:
Нет
Совместимо с Сайты24
Нет

Описание

Битрикс - отличная платформа. Хотите многоязычный сайт - без проблем.
Для модулей есть возможность подключить языковой файл через IncludeModuleLangFile(__FILE__), для шаблонов компонентов - IncludeTemplateLangFile(__FILE__), для публичной части...
Эм... А вот тут, пожалуй, проблема. Стандартного функционала нет.
Сделаем костыль свой функционал? Или старое и проверенное example.com/ru/ и example.com/en/ ?
Неудобно... Стандартный подход для компонентов и модулей удобней, да и привычнее как то...

Ну так зачем от него отказываться? Просто установите модуль и используйте фунцию IncludePublicLangFile(__FILE__) на здоровье!
Структура остается той же - в разделе, в котором вызываем функцию создаем директорию lang , а в ней по стариночке /ru/ , /en/ , и другие, какие только душе угодны =)

P.S. Для тех, кто не в курсе как создавать и подключать языковые шаблоны необходимо ознакомится с api
Отзывы (1)

Обсуждения (0)
Здесь пока никто ничего не написал. Будьте первым.
Установка
Установка данного решения происходит автоматически.
Не требует настройки и дальнейшего вмешательства.

Для работы модуля неоходимо добавить на страницу
<?CModule::IncludeModule("weblooter.langfile");?>

Или для удобства можно добавить 1 раз в файл, название  которого нельзя говорить ввиду правил маркетплейса, но который частенько используется разработчиками.
Пункт 1.5 или 1.6, если у Вас многосайтовость.

После того, как вы подключили модуль, необходимо на странице, где вы будете вызывать языковой файл, подключить его функцией IncludePublicLangFile(__FILE__).

Язык, подключаемый по умолчанию определен Вашим сайтом в константе LANGUAGE_ID. Модуль подлкючает языковой файл, отталкиваясь от значения константы. Говоря иначе, если определить ее например на английский (en), то  модуль подключит английский язык.

Но определять необходимо раньче, чем подлючается /bitrix/header.php

<? 
define('LANGUAGE_ID','en');
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php');
IncludePublicLangFile(__FILE__);    
$APPLICATION->SetTitle(GetMessage('PAGE_TITLE')); 
?>
Так же и  для других языков
<? 
define('LANGUAGE_ID','ru');
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php');
IncludePublicLangFile(__FILE__);   
$APPLICATION->SetTitle(GetMessage('PAGE_TITLE')); 
?> 
Если Вам до сих пор не понятно, как сделать переключение между языками на странице, то вот самый простой пример кода.
На странице:
Выберите язык: 
<a href="<?$APPLICATION->GetCurDir()?>?lang=ru">Русский</a> 
или 
<a href="<?$APPLICATION->GetCurDir()?>?lang=en">English</a>   

А в начале файла страницы
<? 
if(!empty($_GET['lang'])){ 
   $_SESSION['SITE_LANG_ID']=$_GET['lang'];
} 
define('LANGUAGE_ID',$_SESSION['SITE_LANG_ID']); 

require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php');
IncludePublicLangFile(__FILE__);    
$APPLICATION->SetTitle(GetMessage('PAGE_TITLE'));  
?> 

P.S. Для тех, кто не в курсе как создавать и подключать языковые шаблоны необходимо ознакомится с api

Другие решения разработчика

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки