settings_form.json
Настройки виджета в json формате, которые отображаются в редакторе. Дефолтные значения прописываются в файле settings_data.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
- Типtext
general
- Значение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
- Типrich-text
general
- Значение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":"rich-text"
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Число (number)
Данный вид имеет следующие параметры:
name
- Идентификатор настройки (должен быть уникальным)label
- Заголовок настройкиvalue
- Значение по умолчаниюhelp
- Подсказка (будет отображаться рядом с полем)type
- Типnumber
general
- Значение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
- Типcheckbox
general
- Значение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
- Типselect
general
- Значение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
- Типrange
general
- Значение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-group
general
- Значениеtrue
илиfalse
- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position
- Значение2
- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label
- Значение -"{{ messages.title }}"
. Добавляет заголовок с переводом из messages в основных настройках виджета в редактореenable_server_reload
- Значениеtrue
илиfalse
- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile
- Значениеtrue
илиfalse
- Boolean | булевый тип. Скрыть настройку в мобильной версии редактора
Options:
value
- Значение кнопки.title
- Текстовый заголовок, который будет отображаться на кнопке.icon
- Иконка для отображения на кнопке. Значение должно соответствовать строке иконки.
Пример:
{
"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
- Типfile
general
- Значение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-generate-logo
- Значениеtrue
илиfalse
- Boolean | булевый тип. Добавить генератор логотипов в редакторе
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[
{
"name":"logotype",
"label":"Логотип",
"value":null,
"type":"file"
}
]
}
],
"Группа 2":[],
"Группа 3":[]
}
Цвет
Данный вид имеет следующие параметры:
name
- Идентификатор настройки (должен быть уникальным).label
- Заголовок настройкиvalue
- Значение по умолчаниюhelp
- Подсказка (будет отображаться рядом с полем)type
- Типcolor
general
- Значение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
- Типcolor
general
- Значениеtrue
илиfalse
- Boolean | булевый тип. Вывод настройки в основные в редактореgeneral_position
- Значение2
- тип number | Число. Порядок вывода настройки в основные в редактореgeneral_label
- Значение -"{{ messages.title }}"
. Добавляет заголовок с переводом из messages в основных настройках виджета в редактореenable_server_reload
- Значениеtrue
илиfalse
- Boolean | булевый тип. Перезагрузка шаблона при изменении значения настройкиhide_mobile
- Значениеtrue
илиfalse
- Boolean | булевый тип. Скрыть настройку в мобильной версии редактораedit_admin_link
- Значение -product_options
. Ссылка на товар в панели администратора
Пример:
{
"Группа 1":[
{
"group_name":"Подгруппа 1",
"items":[
{
"class": "text",
"name": "permalink_blog",
"label": "{{ messages.blog_choice }}",
"value": null,
"type": "blog",
"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":[]
}
Пример получения значений настроек:
Вызов значения какого-либо параметра задается переменной {{ widget_settings.необходимый_метод }}
Пример liquid:
Шрифт: {{ widget_settings:font_family }}
Цвет текста: {{ widget_settings:color_text }}
Пример JSON
{
"{{ messages.content_settings }}": [
{
"items": [
{
"class": "text",
"name": "title",
"label": "{{ messages.title }}",
"value": null,
"type": "text"
},
{
"class": "range",
"name": "benefit_row_gap",
"min": 0,
"max": 10,
"step": 0.5,
"label": "{{ messages.benefit_row_gap }}",
"type": "range"
},
{
"class": "range",
"name": "benefit_img_ratio",
"label": "{{ messages.benefit_img_ratio }}",
"min": 0.5,
"max" : 2,
"step": 0.1,
"type": "range"
},
{
"class": "range",
"name": "benefit_img_border_radius",
"label": "{{ messages.benefit_img_border_radius }}",
"min": 0,
"max" : 50,
"step": 1,
"type": "range"
}
]
}
]
}