Здравствуйте,
появилась следующая идея - на сайте имеется небольшое количество собственноручно созданных сниппетов, под крайне узко специализированные нужды конкретного сайта. Все прекрасно работает и меня всем устраивает, вот только 1 но. В каждом из них присутствует ряд настроек (типа лимиты на запрос, лимиты на вывод и прочие), настройки правятся прямо в коде что достаточно не удобно и я не вижу смысла в добавлении возможности вызова сниппетов с параметрами (так как не вижу особой разницы в редактировании их из шаблона или же из их кода).
А что хотелось бы? Хотелось бы иметь модуль, который бы позволял из интерфейсной части административной панели редактировать данные настройки. При этом модуль должен работать автономно: в его настройках необходимо указать лишь группу(ы) к которой принадлежат сниппеты. Модуль сам производит анализ сниппетов (допустим читает специальную вставку с комментариями для определения списка и типа параметров) и строит интерфейс с его настройками.
Задача, для моего уровня программирования на php выглядит больно страшной. Но... Создать такое больно хочется. И для начала небольшой вопрос: мы в сниппетах можем использовать глобальное пространство имен $modx, а как можно создать свое пространство имен доступное из всех сниппетов? Заранее спасибо.
Используйте таблицу modx_system_settings. И надо написать не модуль, а плагин, который добавляет новую вкладку в конфигурацию ( событие OnInterfaceSettingsRender). Пример, можете посмотреть в плагине TinyMCE.
После этого обращяться к ним через $modx->config[’my_name’]
Насколько я помню, как раз модули и могут иметь общие настройки со сниплетами.
Например, плагин QuickEdit зависит от модуля QuickEdit.
В результате плагин, может читать конфигурацию модуля.
И ничего лишнего не надо писать и перхватывать.