Где хранятся плейсхолдеры помимо системных?
Версия MODX: Revolution
Где в modx revolution хранятся плейсхолдеры, те которые помимо системных? Да и вообще они где+то хранятся? Сами системные где+то хранятся тоже или нет? Но больше интересуют конечно плейсхолдеры установленных пакетов?
Комментарии (12)
Для добавления комментариев вы должны авторизоваться или зарегистрироваться.
Иван 18.11.2017 15:37 #
Павел Романов 19.11.2017 14:11 #
Про $modx->setPlaceholder Вы знаете и ничего нового тут не посоветуешь — именно так они и задаются. В каждом пакете есть либо сниппет, либо плагин, который и устанавливает эти плейсхолдеры. Физически они нигде не хранятся — их значения генерируются парсером при загрузке страницы.
Если имеются в виду системные установки, которые выводятся через [[++settingsName]], то они прописаны в базе. Значения можно посмотреть в системных настройках, либо в настройках контекста.
Иван 19.11.2017 14:18 #
Павел Романов 19.11.2017 14:23 #
В документации много еще интересного ;-)
Иван 19.11.2017 14:37 #
Павел Романов 19.11.2017 14:42 #
Например, есть еще метод getChunk, где также можно генерить плейсхолдеры для использования внутри чанка.
Иван 19.11.2017 14:56 #
Павел Романов 19.11.2017 15:12 #
Если внутри собственного сниппета, то можно либо через параметр…
… и внутри использовать как переменную $placeholder, либо через
FormIt в шаблоны писем вставляет плейсхолдеры через $modx->getChunk.
Плюс можете сами ловить готовые и формировать новые в сниппетах-хуках, которые обрабатываются при отправке формы.
Иван 19.11.2017 15:22 #
Иван 19.11.2017 15:25 #
Павел Романов 19.11.2017 15:51 #
Есть дополнение modDevTools, с помощью которого можно искать в чанках и шаблонах. Соответственно, найдите название чанка в вызове какого-нибудь сниппета, посмотрите его название, дальше уже будет предметный разговор ))
Просто вариантов уйма. Это может быть вывод getImageList, который формируется через TV типа MIGX (тогда плейсхолдеры задаются либо непосредственно в TV, либо через конфигурацию). Может быть кастомный сниппет, который используется в качестве хука для FormIt (выше написал). Это может быть и плагин, который срабатывает на какое-то системное событие и формирует плейсхолдер.
В общем, нужна конкретика.
Что касается подключения.
Во внешних PHP-скриптах подключайте API, — тогда все методы MODX будут там доступны.
Если же делаете сниппет внутри системы (а это и есть PHP-скрипт), то ничего подключать не надо — там уже все есть.
Что же касается подключения к конкретной таблице в базе, то это делается либо через пакет, либо (если нужно только чтение) можно использовать сниппет Rowboat (в том числе и из внешнего скрипта после подключения API через метод $modx->runSnippet).
Иван 19.11.2017 15:57 #