Использование
Дополнение ClientConfig обычно используют для:
- Регулярного обновления слогана или тэг-лайна в хеадере или футере.
- Изменения цвета кнопок заказа в зависимости от времени.
- Хранения обновленных контактных данных в единой базе.
- Обновления формы для рассылки email уведомлений.
- И / или настроек, необходимых вам и легко обновляемых.
Установка
ClientConfig можно загрузить через менеджер пакетов из основного репозитория и репозитория modstore.
Также вы можете скачать транспортный пакет из репозитория MODX здесь: https://extras.modx.com/package/ClientConfig.
Сообщить об ошибках можно здесь: https://github.com/modmore/ClientConfig
При установке Клиент Конфиг спросит вас какой режим выбрать:
Global mode (по умолчанию) — 90% что нужно оставить этот режим, в нем пользователи могут управлять настройками, влияющими на весь веб-сайт .
Multi-context mode — режим для мультиязычных сайтов (выбираем только если хотите создать сайт на нескольких языках). В многоконтекстном режиме в правом верхнем углу экрана конфигурации добавляется селектор контекста, позволяющий пользователю устанавливать разные значения для каждого независимого контекста.
Работа с ClientConfig
После активации дополнения, в разделе Пакеты появится раздел Конфигурация, перейдите в него.
Создание групп и настроек
На открывшейся странице нажмите на кнопку Администрирование, Переходим во вкладку Группы и создаем группу или несколько групп, например: контакты и соц. сети.
После создания групп, переходим на вкладку Настройки и добавляем настройки:
В сплывающем кошке обязательно заполняем:
- Ключ, на en без пробелов, в качестве разделителя (если он нужен) лучше указывать нижнее подчеркивание, пример: company_name.
- Название: Любое — показывается при заполнении, например: Название компании
- Тип поля: по умолчанию Текст — подходит в 90% случаев.
- Текст (xtype: textfield)
- Текстовая область (тип: текстовая область)
- Code (тип: текстовая область с редактором ace)
- Number (xtype: numberfield)
- Флажок (xtype: xcheckbox)
- Дата (xtype: datefield)
- Время (xtype: timefield)
- Selectbox (xtype: modx-combo); свойства: текст == значение || текст2 == значение
Вы можете использовать тип поля Selectbox, чтобы имитировать логическое поведение yes || no для определенных параметров системы, установив параметры поля.
Так же можно заполнить при необходимости другие необязательные поля поля:
- Описание, показывается под полем при заполнении, я обычно указываю вывод поля: [[++name_polya]]
- Группа: группа, в которой должно отображаться это поле
- Настройка обязательна: если поле обязательно должно иметь значение, поставьте галочку.
- Значение по умолчанию: задайте если знаете (либо укажите любое — чтобы можно было сразу вывести в код).
- Опции: доступно только для подмножества типов полей (см. типы полей).
Заполнение настроек
Выйдете из режима администрирования нажав на кнопку «Показать клиенту», и заполните поля данными (если не задали их значения по умолчанию при их создании) и сохраните.
Вывод настроек на сайте
После создания настроек и их можно вызвать в код вот так: [[++name_key]]
.
Также настройки доступны через API: $modx->getOption('name_key')
, что позволяет переопределять системные настройки.
Дополнительно
ClientConfig перезаписывает System Settings с теми же именами. Это позволяет легко заменить или изменить существующие Системные настройки.
Проверка на пустоту
Если разрабатываете сайт и не знаете будет ли клиент добавлять конкретные настройки или нет (к примеру кнопки на группы в соц. сетях), по можно выводить их вот таким конструкциями:
[[++name_key:!empty=`[[++name_key]`]]
Экспорт и импорт полей
Все созданные группы и поля можно экспортировать и импортировать (перенести) в другой или с другого сайта. Для этого перейдите в режим администрирования. На вкладках Настроек и групп вы увидите кнопки Экспорта настроек / групп и Импорта настроек / групп.
Экспортируйте сначала группы, потом точно так же настройки.
Получается скачиваете 2 xml файлика. Далее импортируем их на новый сайт, сначала группы, потом настройки.
Кэш-контроль
Пока ClientConfig Settings действуют под видом MODX System Settings, они имеют разный кэш. В отличии от System Settings, для обновления обрабатываемых настроек может появиться необходимость для очистки Resource Cache. По этой причине Client Config оснащен “умным кэшем”. По умолчанию, ClientConfig автоматически очищает нужную ячейку кэша при обновлении настроек. Отключение этой возможности есть в системных настройках ClientConfig.