settings.json
Этот файл отвечает за вывод настроек темы.
Группы настроек
Имеется возможность группировки настроек, которые будут отображаться в виде подменю с заголовком.
В случае если в настройках будет всего одна группа, то заголовок группы отображаться не будет и дроп будет всегда раскрыт. При добавлении параметра general эти настройки темы выводятся в первую очередь. Остальные настройки можно будет посмотреть включив Расширенный режим настроек.
Пример:
{
"Группа 1":[],
"Группа 2":[],
"Группа 3":[]
}
Подгруппы настроек
Каждую группу можно разделить на подгруппы, которые будут визуально разделять настройки для более удобного их использования.
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[]
},
{
"group_name":"Подгруппа 2",
"items":[]
},
{
"group_name":"Подгруппа 3",
"items":[]
}
],
"Группа 2":[],
"Группа 3":[]
}
Если вы не хотите разделять настройки на подгруппы, то можно использовать такой формат.
Пример:
{
"Группа 1":[
{
"items":[
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Варианты полей настроек
В настройках можно использовать несколько видов полей настроек:
ТекстЧислоЧекбоксСелектПолзунокКнопкиФайлЦветШрифт
Текст (text)
Данный вид имеет следующие параметры:
name- Идентификатор настройки (должен быть уникальным)label- Заголовок настройкиvalue- Значение по умолчаниюhelp- Подсказка (будет отображаться рядом с полем)type- Типtextgeneral- Значениеtrueилиfalse- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position- Значение2- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label- Значение -"{{ messages.title }}". Добавляет заголовок с переводом из messages в основных настройках темы в редактореenable_server_reload- Значениеtrueилиfalse- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактора
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[
{
"name":"main_text",
"label":"Текст",
"help":"",
"type":"text"
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Основной текст (rich-text)
Данный вид имеет следующие параметры:
name- Идентификатор настройки (должен быть уникальным)label- Заголовок настройкиvalue- Значение по умолчаниюhelp- Подсказка (будет отображаться рядом с полем)type- Типtextgeneral- Значениеtrueилиfalse- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position- Значение2- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label- Значение -"{{ messages.title }}". Добавляет заголовок с переводом из messages в основных настройках темы в редактореenable_server_reload- Значениеtrueилиfalse- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактора
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[
{
"name":"main_text",
"label":"Текст",
"help":"",
"type":"text"
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Число (number)
Данный вид имеет следующие параметры:
name- Идентификатор настройки (должен быть уникальным)label- Заголовок настройкиvalue- Значение по умолчаниюhelp- Подсказка (будет отображаться рядом с полем)type- Типnumbergeneral- Значениеtrueилиfalse- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position- Значение2- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label- Значение -"{{ messages.title }}". Добавляет заголовок с переводом из messages в основвных настройках темы в редактореenable_server_reload- Значениеtrueилиfalse- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактораwith_btns- Изменение отображения Range slider на поле с кнопками '+' и '-'min- Значение2- тип number | Число. Минимальное значение настройкиmax- Значение2- тип number | Число. Максимальное значение настройкиstep- Значение2- тип number | Число. Шаг(интервал) на которое увеличиться число
{
"class":"range",
"name":"img-ratio",
"label":"{{ messages.image_ratio }}",
"min":0.5,
"max":2.5,
"step":0.1,
"type":"number",
"with_btns": true
}
Чекбокс (checkbox)
Данный вид имеет следующие параметры:
name- Идентификатор настройки (должен быть уникальным)label- Заголовок настройкиvalue- Значение по умолчаниюhelp- Подсказка (будет отображаться рядом с полем)type- Типcheckboxgeneral- Значениеtrueилиfalse- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position- Значение2- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label- Значение -"{{ messages.title }}". Добавляет заголовок с переводом из messages в основных настройках темы в редактореenable_server_reload- Значениеtrueилиfalse- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактора
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[
{
"name":"hide_caption",
"label":"Скрыть заголовок",
"value":null,
"help":"",
"type":"checkbox"
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Селект (select)
Данный вид имеет следующие параметры:
name- Идентификатор настройки (должен быть уникальным)label- Заголовок настройкиvalue- Значение по умолчаниюhelp- Подсказка (будет отображаться рядом с полем)type- Типselectgeneral- Значениеtrueилиfalse- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position- Значение2- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label- Значение -"{{ messages.title }}". Добавляет заголовок с переводом из messages в основных настройках темы в редактореenable_server_reload- Значениеtrueилиfalse- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактора
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[
{
"name":"font_family",
"options":[
[
"OpenSans",
"google:Open+Sans"
],
[
"Roboto",
"google:Roboto"
]
],
"value":null,
"label":"Шрифт",
"type":"select"
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Ползунок (Range slider)
Данный вид имеет следующие параметры:
name- Идентификатор настройки (должен быть уникальным)label- Заголовок настройкиvalue- Значение по умолчаниюhelp- Подсказка (будет отображаться рядом с полем)type- Типrangegeneral- Значениеtrueилиfalse- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position- Значение2- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label- Значение -"{{ messages.title }}". Добавляет заголовок с переводом из messages в основных настройках темы в редактореenable_server_reload- Значениеtrueилиfalse- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактораmin- Значение2- тип number | Число. Минимальное значениеmax- Значение2- тип number | Число. Максимальное значениеstep- Значение2- тип number | Число. Шаг значенийunitЗначение"vw"- тип string | Строка. Единица измерения (vw, px и т.п)with_btns- Значениеtrueилиfalse- Boolean | булевый тип. Изменение отображения Range slider на поле с кнопками '+' и '-'
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[
{
"class":"range",
"name":"layout-pt",
"min":0,
"max":10,
"step":0.5,
"label":"{{ messages.indentation_height }}",
"type":"range",
"unit":"vw"
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Кнопки (button-group)
Данный вид имеет следующие параметры:
name- Идентификатор настройки (должен быть уникальным).label- Заголовок настройкиvalue- Значение по умолчаниюhelp- Подсказка (будет отображаться рядом с полем)type- Типbutton-groupgeneral- Значениеtrueилиfalse- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position- Значение2- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label- Значение -"{{ messages.title }}". Добавляет заголовок с переводом из messages в основных настройках темы в редактореenable_server_reload- Значениеtrueилиfalse- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактораmin- Значение2- тип number | Число. Минимальное значениеmax- Значение2- тип number | Число. Максимальное значениеstep- Значение2- тип number | Число. Шаг значений-
unit- Значение"vw"- тип string | Строка. Единица измерения (vw, px и т.п) -
with_btns- Значениеtrueилиfalse- Boolean | булевый тип. Изменение отображения Range slider на поле с кнопками '+' и '-' hide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактораtitle- Значение - {{ messages.align_left }}. Добавляет заголовок с переводом из messages в основных настройках темы в редактореiconЗначение"vw"- тип string | Строка. Пример: mdi-text-align-left
Пример:
{
"name":"widget-align",
"options":[
{
"value": "left",
"title": "{{ messages.align_left }}",
"icon": "mdi-text-align-left"
},
{
"value": "center",
"title": "{{ messages.align_center }}",
"icon": "mdi-text-align-center"
},
{
"value": "right",
"title": "{{ messages.align_right }}",
"icon": "mdi-text-align-right"
}
],
"value":null,
"label":"{{ messages.alignment }}",
"type":"button-group"
}
Цвет
Данный вид имеет следующие параметры:
name- Идентификатор настройки (должен быть уникальным).label- Заголовок настройкиvalue- Значение по умолчаниюhelp- Подсказка (будет отображаться рядом с полем)type- Типcolorgeneral- Значениеtrueилиfalse- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position- Значение2- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label- Значение -"{{ messages.title }}". Добавляет заголовок с переводом из messages в основных настройках темы в редактореenable_server_reload- Значениеtrueилиfalse- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактораclearable- Значениеtrueилиfalse- Boolean | булевый тип. Возможность очистить цвет фона в редакторе.fallback- Значение -color-btn-bgилиbg. Переменные можно посмотреть здесь. Возвращает заданный цвет если он не указан пользователем.
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[
{
"name":"color_text",
"label":"Цвет текста",
"value":"#ffffff",
"help":"",
"type":"color"
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Шрифты
Данный вид имеет следующие параметры:
name- Идентификатор настройки (должен быть уникальным).label- Заголовок настройкиvalue- Значение по умолчаниюhelp- Подсказка (будет отображаться рядом с полем)type- Типcolorgeneral- Значениеtrueилиfalse- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position- Значение2- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label- Значение -"{{ messages.title }}". Добавляет заголовок с переводом из messages в основных настройках темы в редактореenable_server_reload- Значениеtrueилиfalse- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile- Значениеtrueилиfalse- Boolean | булевый тип. Скрыть настройку в мобильной версии редактора
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[
{
"class": "text",
"name": "font",
"label": "{{ messages.font_choice }}",
"value": null,
"type": "fonts_select",
"general": true
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Использование настроек
Пример файла settings.json:
{
"Группа 1":[
{
"group_name":"Цвета",
"items":[
{
"name":"color-background",
"label":"Цвет фона",
"value":"#ffffff",
"help":"",
"type":"color"
},
{
"name":"color-text",
"label":"Цвет текста",
"value":"#ffffff",
"help":"",
"type":"color"
},
{
"name":"color-link",
"label":"Цвет ссылок",
"value":"#ffffff",
"help":"",
"type":"color"
}
]
},
{
"group_name":"Шрифт",
"items":[
{
"name":"font_family",
"options":[
[
"OpenSans",
"google:Open+Sans"
],
[
"Roboto",
"google:Roboto"
]
],
"value":null,
"label":"Шрифт",
"type":"select"
},
{
"name":"font_weight",
"label":"Начертание шрифта",
"value":null,
"min": 100,
"max": 600,
"step": 100,
"type":"range"
}
]
},
{
"group_name":"Логотип",
"items":[
{
"name":"logotype.png",
"label":"Логотип",
"value":null,
"help":"",
"type":"file"
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Пример получения значений настроек:
Вызов значения какого-либо параметра задается переменной {{ settings.необходимый_метод }}
Пример liquid:
Шрифт: {{ settings:font_family }}
Цвет текста: {{ settings:color_text }}