ClientConfig

ClientConfig Дополнения
Пакет ClientConfig, позволяет вам создавать ваши собственные настройки, работающие согласно синтаксиса System Settings. Настройки ClientConfig производятся на отдельной странице, поэтому изменять их гораздо удобнее, чем Системные настройки. Кроме этого, доступны различные типы переменных Input.

Использование

Дополнение ClientConfig обычно используют для:

  • Регулярного обновления слогана или тэг-лайна в хеадере или футере.
  • Изменения цвета кнопок заказа в зависимости от времени.
  • Хранения обновленных контактных данных в единой базе.
  • Обновления формы для рассылки email уведомлений.
  • И / или настроек, необходимых вам и легко обновляемых.

Установка

ClientConfig можно загрузить через менеджер пакетов из основного репозитория и репозитория modstore.

Также вы можете скачать транспортный пакет из репозитория MODX здесь: https://extras.modx.com/package/ClientConfig.

Сообщить об ошибках можно здесь: https://github.com/modmore/ClientConfig

При установке Клиент Конфиг спросит вас какой режим выбрать:

Опции установки ClientConfig - выбор режима работы

Global mode (по умолчанию) — 90% что нужно оставить этот режим, в нем пользователи могут управлять настройками, влияющими на весь веб-сайт .

Multi-context mode — режим для мультиязычных сайтов (выбираем только если хотите создать сайт на нескольких языках). В многоконтекстном режиме в правом верхнем углу экрана конфигурации добавляется селектор контекста, позволяющий пользователю устанавливать разные значения для каждого независимого контекста.

Работа с ClientConfig

После активации дополнения, в разделе Пакеты появится раздел Конфигурация, перейдите в него.

переход в интерфейс ClientConfig

Создание групп и настроек

На открывшейся странице нажмите на кнопку Администрирование, Переходим во вкладку Группы и создаем группу или несколько групп, например: контакты и соц. сети.

Создаем группу

После создания групп, переходим на вкладку Настройки и добавляем настройки:

Добавление системных настроек

В сплывающем кошке обязательно заполняем:

  • Ключ, на en без пробелов, в качестве разделителя (если он нужен) лучше указывать нижнее подчеркивание, пример: company_name.
  • Название: Любое — показывается при заполнении, например: Название компании
  • Тип поля: по умолчанию Текст — подходит в 90% случаев.
Все типы полей
Тип x в скобках предназначен для ExtJS.
  • Текст (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.

Rate article
MODX 3

This site uses Akismet to reduce spam. Learn how your comment data is processed.