loadMessages
Сигнатура, описание и параметры
public static \Bitrix\Main\Localization\Loc::loadMessages( string $file );
Статический метод обозначает, для какого файла мы бы хотели в будущем загрузить языковые файлы. Поиск папки и подключение языкового файла будет происходить только при необходимости, когда вызовется Loc::getMessage (или функция GetMessage старого ядра, которая вызовет Loc::getMessage). Этот механизм в Bitrix Framework называется ленивая загрузка.
Loc::getMessage будет искать первую папку /lang
наверх по файловой структуре относительно переданного файла.
Аналог методов IncludeModuleLangFile и IncludeTemplateLangFile старого ядра.
Параметры
Параметр | Описание | Версия |
---|---|---|
$file | Файл. |
Примеры
Применение метода для файлов сайта вне модулей и шаблонов. Метод Loc::loadMessages практичнее, чем IncludeModuleLangFile и IncludeTemplateLangFile старого ядра. В старых функциях чётко указано, где искать папку с lang-файлами: в корне модуля или в корне шаблона. Loc::loadMessages можно использовать для других папок.
Пример структуры папок:
local php_interface askaron tools.php lang ru askaron tools.php init.php test.php init.php test.php
Возьмем любой файл. Например, init.php
Файл /local/php_interface/lang/ru/init.php
.
<? $MESS["HELLO_WORLD"] = "Привет мир"; ?>
Файл /local/php_interface/init.php
<? use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); function getHelloWorld() { return Loc::getMessage('HELLO_WORLD'); } ?>
Аналогично конструкция
use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__);
будет работать в test.php и в askaron/tools.php
.
Иван Поддубный
|
||
Есть константа в классе Loc которая может быть удобной для тестирования корректности подключения переводов.
| ||
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.