Вопросы и ответы
Вебмастеру
Set/get-переменные
Часто стоят задачи обеспечить передачу данных в самых разных частях MaxSite CMS. Обычно это делается через глобальную область видимости PHP, что усложняет код. Для решения подобных задач используюся две функции, которые скрыто оперируют глобальным массивом и представляют удобный интерфейс для использования.
В шаблонах set/get-переменные используются для управления некоторыми предопределенными данными. Обычно используется custom/set_val.php
. Например:
// произвольный адрес загрузки библиотеки jQuery
mso_set_val('jquery_url', 'URL-адрес загрузки jQuery');
// html-атрибуты для тэга HEAD
mso_set_val('head_section_html_add', 'lang="ru"');
// css-классы для BODY
mso_set_val('body_class', 'my-body');
Set/get-переменная может быть задана в любой части сайта, главное, чтобы это было сделано до её использования.
Добавление set/get-переменной
Для этого используется функция mso_set_val()
.
mso_set_val($key, $val, $val_val = null)
$key — ключ (строка)
$val — значение (любой тип)
$val_val — если не равен null, то указывает на возвращаемый ключ массива
Получение set/get-переменной
Для этого используется функция mso_get_val()
.
mso_get_val($key = '', $default = '', $array = false)
$key — ключ (строка)
$default — значение, если ключа нет
$array — если равен true, то возвращаемый ключ равен $default
Примеры
Простой вариант использования
mso_set_val('myId', 777);
$m = mso_get_val('myId', 0); // указываем значение по умолчанию
pr($m); // выведет 777
Возврат всех ключей массива
mso_set_val('users', 'name1', 'Вася');
mso_set_val('users', 'name2', 'Васечкин');
$m = mso_get_val('users');
pr($m);
Array
(
[name1] => Вася
[name2] => Васечкин
)
Выборочный ключ массива
mso_set_val('users', 'name1', 'Вася');
mso_set_val('users', 'name2', 'Васечкин');
$m = mso_get_val('users', 'name2', true);
pr($m); // Выведет Васечкин