Categories: ModX

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

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

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

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

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

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

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

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

$url = $modx->resource->getTVValue('urlfromtv');

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

<?php
$url = $modx->resource->getTVValue('urlfromtv');
$link2=explode("/", $url);
print_r(" (проверить на <a href='http://bdseo.ru/monitor/".$link2[2]."' target='_blank'>AllHyipMon</a>)");

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

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

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

[[!allhyipmon?]]

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

veniamin

View Comments

Recent Posts

Как заработать токен NOT за стейкинг BNB или FDUSD

Очень много разговоров в последнее время за токен NOT. Много бирж будут делать листинг токена,…

6 месяцев ago

Как заработать TON и NOT за стейкинг в телеграм

Телеграм недавно запустил возможность стейкать (замораживать) USDT и получать за это их валюту TON. Очень…

6 месяцев ago

Бонус 100 USDT +10 BUSD от Binance

Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…

3 года ago

Как парсить длительность видео youtube на php в привычном виде

Самый главный момент в работе с youtube - это получить ключ api через консоль разработчика…

3 года ago

Как удалить чужую сессию пользователя в ubuntu (linux)

Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…

3 года ago

Как наложить watermark на видео в python windows массово

Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3,…

3 года ago