Практически на каждом проекте пригождается возможность хранения переменный или значений повторяющихся. Так и вышло, что потратил время и сделал свой модуль.
Достаточно скачать и установить
Порядок установки:
1. Скачиваете архив с модулем и распаковываете в /local/modules/my_variables.
2. Зайдите в административную панель Битрикс → Настройки → Модули.
В списке модулей находите Управление переменными сайта (my_variables).
Нажимаете "Установить".
3. После установки появиться пункт меню Переменные сайта.
4. Чтобы упростить вывод наших переменных в PHP и JS получаем их из базы и раскидываем. Для этого в создаем файл init.php (если не создан) в /local/php_interface/.
Добавляем в него следующий код:
<?php
use Bitrix\Main\Loader;
// Подключаем модуль и определяем функцию v()
if (Loader::includeModule('my_variables'))
{
/**
* Удобный хелпер для получения переменной по коду
*
* @param string $code Код переменной
* @param mixed $default Значение по умолчанию
* @return mixed
*/
function v(string $code, $default = null)
{
return \My\Variables::get($code, $default);
}
// для вывода в JS
global $APPLICATION;
// Берём все переменные из БД
$jsVars = [];
$res = \My\Variables::getList();
while ($row = $res->fetch()) {
// ключ — CODE, значение — VALUE
$jsVars[ $row['CODE'] ] = $row['VALUE'];
}
// Переводим в безопасный JSON для JS
$json = \CUtil::PhpToJSObject($jsVars, false, true);
// Вставляем в <head> перед </head>
$APPLICATION->AddHeadString(
"<script>window.siteVars = {$json};</script>",
true
);
}
Вывод переменных:
<?= v('tlg', 'Заголовок по умолчанию')?>
console.log(window.siteVars); // {tlg: "...", site_title: "...", ...}
console.log(window.siteVars['tlg']); // значение переменной с кодом «tlg»
Комментарии