Вывод картинки в OpenGraph с использованием MIGX
Добрых уток времени всем. Пытаюсь настроить красивый вид ссылок на сайт в мессенджарах.
Возникла проблема с передачей картинки. У меня на сайте есть несколько типов страниц. На одном из них использую MIGX для создания tv-поля с картинкой новости. На всех остальных этого tv-поля нет вообще.
В head прописал такой код:
Вопрос: как добавить проверку на отсутсвие tv-шки с картинкой и указанием дефолтной картинки в этом случае?
Пробовал в темплейте `openGraph_Img` указать проверку
Возникла проблема с передачей картинки. У меня на сайте есть несколько типов страниц. На одном из них использую MIGX для создания tv-поля с картинкой новости. На всех остальных этого tv-поля нет вообще.
В head прописал такой код:
<meta property="og:image" content="[[++site_url]][[getImageList?
&tvname=`image`
&tpl=`openGraph_Img`
&limit=`1`
&docid=`[[*id]]`
]]">В темплейте `openGraph_Img` лежит просто [[+image]]Такая конструкция работает на страницах, у которых есть tv-шка с картинкой статьи.Вопрос: как добавить проверку на отсутсвие tv-шки с картинкой и указанием дефолтной картинки в этом случае?
Пробовал в темплейте `openGraph_Img` указать проверку
[[+image:isnot=``:then=`[[+image]]`:else=`images/defaultPic.jpg`]]но так не работает (если я правильно понимаю это потому что на других страницах такого TV просто нет, соответственно проверка не начинается). Комментарии: 9
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
У стандартного шаблонизатора modx довольно часто наблюдаются проблемы с написанием условий.
При этом на fenom ваша проблема решилась бы в одну строку.
{set $image = $_modx->resource.image? $_modx->resource.image: «images/defaultPic.jpg» }
Я пробовал fenom, но что-то не понимаю как им пользоваться. В настройках MODX включил «использовать Fenom на страницах». В чанк с темплейтом «openGraph_Img» подставил Вашу строку и страницы, у которых к новости есть картинка перестали загружаться. Не идёт формирование html-разметки. При этом другие страницы продолжают нормально работать.
Если уж ты решил перейти на Fenom, то имеет смысл переписать эту конструкцию целиком. Сверху в head пишешь:
а затем просто
И никаких дополнительных openGraph_Img не нужно.
MIGX TV — это не более чем простой JSON, поэтому в Fenom с ним можно работать без всяких getImageList.
Ты можешь распечатать $data на странице и посмотреть, что там внутри:
Тоже ломает главную страницу ¯\_(ツ)_/¯
Если установлен, то возможно в системных настройках указан не тот парсер. Проверьте что в системной настройка parser_class, там должно быть указано pdoParser
Если так и есть, то возможно у вас не указано в системных настройках — использовать феном на страницах, ключ pdotools_fenom_parser