mmaurice / evo-widgets
Web-site widgets from Modx Evolution 1.x chunks&snippets
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=5.6
- mmaurice/modx-injector: dev-main
This package is auto-updated.
Last update: 2025-02-21 15:34:58 UTC
README
Инструмент позволяет вызвать любой чанк или сниппет Modx Evolution в виде кода для iFrame. При этом можно ограничить возможность вывода белым или черным списком сущностей.
Установка:
Клонирование проекта:
composer create-project mmaurice/evo-widgets ./widgets
Перейти в каталог проекта:
cd ./widgets
Обновить зависимости composer:
composer update
Создать файл конфигурации:
copy ./config.php.example ./config.php
Настройка:
Все настройки хранятся в файле config.php. Файл конфигурации содержит следующие узлы:
-
filter - применяемый метод фильтрации. Поддерживаемые значения:
blacklist
|whitelist
|none
. В случае выбора метода фильтрации blacklist, разрешено использовать все чанки и сниппеты, которые не перечисленны в blacklist. В случае выбора метода фильтрации whitelist, запрещено использовать все чанки и сниппеты, которые не перечисленны в whitelist. -
blacklist - массив имен чанков и сниппетов, которые запрещено использовать.
-
whitelist - массив имен чанков и сниппетов, которые разрешено использовать.
Примечание: Для узлов blacklist и whitelist требуется указывать имя сущности с указанием её типа по маске:
'<type>:<name>'
Где,
- - тип сущности. Допустимо использовать:
chunk
|snippet
. - - имя сущности.
Это необходимо для исключения неоднозначности, если в системе будут зарегестрированы чанк и сниппет с одинаковым наименованием.
Использование:
Использовать модуль крайне легко. Необходимо обратиться к файлу index.php в адресной строке браузера, передав минимум один главный параметр в GET-запросе: name, где необходимо указать имя вызываемой сущности в формате, описанном выше:
'<type>:<name>'
Таким образом, ссылка в адресной строке может выглядеть так:
http://website/widgets/index.php?name=chunk:demo
Кроме этого, ряд чанков и сниппетов поддерживают передачу массива параметров при их вызове. Такой функционал так же поддерживается в данном модуле. Если запросить следующий адрес:
http://website/widgets/index.php?name=snippet:demo&foo=bar
Это будет эквивалентно вызову:
{{demo ? &foo=`bar`}}