Назначение
Каждая переменная имеет:
- Название – название переменной (к примеру siteName)
- Описание – описывает для чего нужна переменная (для siteName – Название сайта)
- Тип:
- строка – простая текстовая строка
- логическая – да или нет
- перечисление – перечень возможных значений переменной
- редактор (html) – html код который можно редактировать с помощью встроенного визуального редактора.
- Значение – значение переменной в зависимости от ее типа
- Отношение к модулю
- глобальные – действует для всех модулей сайта
- модульные – действует только при работе определенного модуля (публикации, динамический, пользователи ….)
- административные – действуют только в панели администратора
- Флаг редактирования – устанавливается системным администратором и указывает может ли переменная быть переопределена для сайта или раздела администраторами сайта.
Существует три уровня переменных
- Системные – переменные со значениями по умолчанию, действуют для всех сайтов* .
- Сайта – переменные со значениями переопределенными для сайта, действуют в рамках определенного сайта для всех разделов.
- Раздела – переменные со значениями переопределенными для раздела, действуют для конкретного раздела.
Наследование значений переменных.
По умолчанию переменная принимает значение системной и действует для всех сайтов и заданных модулей, если она не будет переопределена для сайта* или раздела.
Если значение переменной было переопределено для конкретного сайта*, то переопределенное значение действует для данного сайта*, если значение не будет переопределено для конкретного раздела.
Если значение переменной было переопределено для конкретного раздела сайта, то оно действует только для данного раздела и другими разделами не наследуется.
Существует переменные позволяющие управлять наследованием значений переменных среди разделов.
- site.InheritChild – прямое наследование, (наследовать значения переменных раздела всеми дочерними разделами) установка которой для конкретного раздела сайта приведет к наследованию значений переменных этого раздела всеми внутри лежащими (дочерними) подразделами, если в них эти переменные не переопределены.
- site.InheritPathIdVars – обратное наследование, (наследование значений переменных родительских разделов) установка которой приведет к наследованию значений переменных выше лежаших (родительских) разделов данным разделом.
- site.InheritIdVars - абсолютное наследование, (наследовать значения переменных указанного раздела) при указании в значении этой переменной dirId раздела, выбранный раздел будет наследовать значение переменных раздела с указанным dirId (только если переменные были переопределены для раздела dirId).
* - действует только для мультисайтовой версии ядра
Системные переменные
Все переменные и их значения по умолчанию задаются в системных переменных. Доступ к созданию, удалению и редактированию системных переменных предоставляется только системному администратору сайта через панель администратора. Если Вы не являетесь разработчиком сайта, не рекомендуем удалять переменные или изменять их названия.
Обсуждение материала на форуме: Переменные [0]