Как создать свой сниппет в modx

Как вывести дополнительное поле в сниппет modx

В системе управления контентом modx есть свои плюсы и минусы. Например, использования php-кода возможно только через сниппеты. В чанках только html-код. Кому-то это не очень удобно, некоторые считают такой подход идеальным решением, чтобы не путаться в коде. Вот и у меня возникла задача вывести в чанке определенные данные, обработанные перед этим php-кодом.

Как создать свой сниппет modx

Прямо в чанке, как я уже писал, php-код вызвать нельзя. Поэтому создаем сниппет. Для этого зайдите в админку modx, и нажмите Создать новый сниппет (на «плюс» или правой кнопкой мыши).

Как создать свой сниппет в modx
Как создать свой сниппет в modx

Дальше напишите php-код.

Как получить дополнительные поля tv modx в сниппете

Я находил несколько решений в интернете. Некоторые советовали получать сначала ИД документа, потом вызывать дополнительные поля, тоже по ИД. Но самый удачливым решением для меня был следующий код:

который при вызове чанка/сниппета автоматически передавал данные этого доп.поля документа в переменную. Тут не нужно было получать ИД страницы, а значение доп.поля можно получить по его имени (urlfromtv). Весь мой код выглядел примерно вот так:

Я получал данные в переменную url, дальше разделял через explode строку в переменной link2 и выводил данные (в примере, домен сайта) link2[2] (третий элемент в массиве после разделителя explode).

Вызов сниппета в чанке modx

После этого не забудьте вызвать в чанке сниппет. Делается это просто:

У меня данные выводились на страницы через отдельный шаблон. Если Вам нужно на одной странице просто вывести сниппет, то вызывайте сразу сниппет.

Добавить комментарий для Econ Dude Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *