Как задать атрибуты header и title для кастомной системной страницы
Актуально: версия системы 2.9.5.
Задача: задать атрибуты header и title для кастомной системной страницы (которая открывается по адресу http://сайт/модуль/метод.
Решение:
В системных страницах, если посмотреть возвращаемый xml-код страницы, присутствуют заполненные атрибуты header и title, например для страницы сайт/users/registrate/.xml:
<result module="users" method="registrate" domain="dizzynew.loc" system-build="22471" lang="ru"
header="Регистрация" title="UMI.CMS - Регистрация" site-name="umicms.demo site" request-uri="/users/registrate/.xml">
Если же мы напишем кастомный метод и посмотрим его xml-код, то данные атрибуты будут не заполненными. Например, для страницы сайт/users/registrate_custom/.xml:
<result module="users" method="registrate_custom" domain="dizzynew.loc" system-build="22471" lang="ru"
header="" title="UMI.CMS - " site-name="umicms.demo site" request-uri="/users/registrate_custom/.xml">
Чтобы заполнить в данные атрибуты, необходимо внести новые значения в массив $C_LANG файла lang.php.
Данный файл присутствует в каждом модуле системы: classes/modules/users/ Так как наш кастом относиться к модулю users, то и править нужно файл lang.php, находящийся в папке модуля.
Стоит заметить, что файл lang.php является системным и будет перезаписан при обновлении системы. Чтобы не потерять данные, Вам необходимо создать для каждой языковой версии сайта файл с суффиксом языка, например для русского языка файл необходимо назвать как lang.ru.php
В созданном файле сделаем записи:
<?php
$C_LANG = Array();
$C_LANG['registrate_custom'] = "Регистрация - кастом";
?>
Результат:
<result module="users" method="registrate_custom" domain="dizzynew.loc" system-build="22471" lang="ru"
header="Регистрация - кастом" title="UMI.CMS - Регистрация - кастом" site-name="umicms.demo site" request-uri="/users/registrate_custom/.xml">