Перейти к основному содержимому

Настройки

Система параметров «ключ/значение», управляемых редактором контента, без необходимости программирования.

Введение​

Настройки — это система параметров «ключ/значение», управляемых редактором контента в бэк-офисе, предназначенная для значений веб-сайта, которые часто меняются или различаются по языкам (например, номер телефона, адрес, ссылки на социальные сети, изображение логотипа), без необходимости трогать код.

Включает три формы в бэк-офисе:

  • Тип (configuration_parameter_type)
  • Параметр (configuration_parameter)
  • Конфигурация (configuration)

Тип​

Определяет, какой тип значения принимает Параметр. Содержит только Код (code) и Название (name). По умолчанию уже созданы:

КодНазвание
booleanЛогический
numberЧисло
imageИзображение
colorЦвет
textТекст
htmlHTML

Параметр​

Определяет «ключ» конфигурации — Код (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>.

Следующий шаг​

Изучите Словари.