Настройки
Система параметров «ключ/значение», управляемых редактором контента, без необходимости программирования.
Введение
Настройки — это система параметров «ключ/значение», управляемых редактором контента в бэк-офисе, предназначенная для значений веб-сайта, которые часто меняются или различаются по языкам (например, номер телефона, адрес, ссылки на социальные сети, изображение логотипа), без необходимости трогать код.
Включает три формы в бэк-офисе:
- Тип (
configuration_parameter_type) - Параметр (
configuration_parameter) - Конфигурация (
configuration)
Тип
Определяет, какой тип значения принимает Параметр. Содержит только Код (code) и Название (name). По умолчанию уже созданы:
| Код | Название |
|---|---|
boolean | Логический |
number | Число |
image | Изображение |
color | Цвет |
text | Текст |
html | HTML |
Параметр
Определяет «ключ» конфигурации — Код (code, используется в коде для получения значения), Описание и Тип (один из типов выше). Например: параметр nomer-telefona типа Текст.
Конфигурация
Это значение Параметра для определённого Языка — Значение (value, текст) или Изображение (value_img), в зависимости от типа параметра.
Значения без языка (общий fallback)
Если поле Язык у Конфигурации остаётся пустым, это значение начинает использоваться как fallback для всех языков, у которых не задано собственное значение для этого параметра. Это избавляет от необходимости дублировать одно и то же значение (например, номер телефона, одинаковый во всех языках) отдельно в каждом языке — оно задаётся один раз, без привязки к языку, а значение для конкретного языка задаётся только там, где оно действительно отличается.
Программно
Класс website/src/common/Cluar.js предоставляет функции для чтения настроек:
Cluar.configuration(parametr)— получает значение параметра на текущем языке; если для этого языка значения нет, использует значение без языка (fallback); если нет ни одного из них, возвращает само имя параметра (полезно, чтобы быстро заметить отсутствующую настройку).Cluar.configurationNumber(parametr)— то же самое, но преобразует значение в число (0, если оно не числовое).Cluar.configurationMultilines(parametr)— то же самое, но преобразует переносы строк в<br>.
Следующий шаг
Изучите Словари.