Modx как вывести TV

Решил поделить совсем простым решением для обеих версий Modx, которое использую практически на каждом проекте. Проблема в том, что регулярно возникает необходимость вывода различных блоков информации в тех или иных местах макета, а создавать отдельный шаблон для этого не хочется, так как работать с большим количеством шаблонов более времязатратно.

Начну с простого, как вывести какую-то информацию в зависимости от текущего id документа, например 12. Для этого надо воспользоваться PHx или его аналогом в MODX Revolution, в зависимости от версии CMS/CMF.

# код для Evolution [*id:is=`12`:then=`Вывод какой-то информации`*] # код для Revolution [[*id:is=`12`:then=`Вывод какой-то информации`]]

, при этом в качестве id может выступать любой параметр документа, включая TV. Вооружившись этим знанием мы можем создать шаблон, в котором соседние документы будут показываться только в потомках основного документа. Для этого достаточно создать единый шаблон и прописать следующий код:

# код для Evolution [*isfolder:is=`0`:then=`[[PrevJumpNext]]`*] # код для Revolution [[*isfolder:isnot=`1`: then=`[[pdoNeighbors]]`]]

Здесь все просто. Мы проверяем, является ли данный документ контейнером, ведь родительский документ всегда будет контейнером, и если не является, то показываем сниппет выводящий соседние документы.

SortableSidebar: A custom Input Tv for MODX Evolution 1.05

А еще проверяемые параметры можно группировать, например:

# код для Evolution [*parent:is=`0`:or:is=`8`:then=`Вывод какой-то информации`*] # код для Revolution [[*parent:is=`0`:or:is=`8`:then=`Вывод какой-то информации`]]

, здесь информация будет показываться только в тех документах, родителями которых является документ с id 0, т.е. корневой документ, и документ с id 8.

В общем используя данное решение, можно легко показывать нужные нам блоки на разных документах, при этом не создавая большого количества шаблонов под эти нужды.

Источник: www.devmarks.ru

MODX: Как правильно вывести Open Graph

Привет, друзья! Сегодня поговорим о том, как вывести микроразметку Open Graph на своем сайте. Соответственно, для системы управления контентом — MODX. Статья написана на версии 2.7.1.

Что такое Open Graph

Open Graph — это протокол, позволяющий любой веб-странице стать полноценным объектом в социальных сетях. Если непонятно, то просто посмотрите на картинку ниже. Это и есть Open Graph. Красивая картинка и заголовок для какой-нибудь интернет страницы.

Еще по теме:  Почему на ТВ замазывают детей

Конечно, сейчас уже 2019 год и есть определенные особенности, которые надо учесть при настройке микроразметки. Речь идет, конечно же, о размерах изображений. В своей практике я встречался с более менее универсальными размерами, о них сегодня и будем говорить. Скриншот ниже — это пример работы микроразметки.

пример работы open graph

Код микроразметки Open Graph

На самом деле все очень просто и можно сделать за 5-10 минут. В целом столько же потратится времени на установку какого-либо модуля.

Как вывести меню в ModX Evo? / Создаем блог на ModX Evo #8

Ниже показываю код. Не беспокойтесь — сейчас я все объясню. А под картиной будет ссылка для скачивание этого кода с Github.com

пример кода open graph

Документ opengraph.html доступен по ссылке.

Для удобства я взял весь из чанки, просто потому что так удобней показывать. Обратите внимание на три основные вещи. Буду ссылаться на номер строки в примере.

Префикс, это обязательная вещь (хотя у меня и без нее работало). Проще говоря, мы оповещаем “робота” соц. сети что здесь будет Open Graph.

2. Код после (17 строка).

Тут идет код самого Open Graph.

3. Код после (28 строка).

Для Twitter используется чуть-чуть другой формат, поэтому прикрепил в статью его код для комплекта. Все покажу на примере Open Graph, а с Twitter разберетесь чисто логически. Хотя, кое-что все равно отметим.

пример кода open graph для копирования

1. Данный пункт отвечает за язык сайта. Мне известны ru_RU и en_US, en_GB.

2. Тип ресурса. Всего существует несколько типов, я знаю только website и article, но никогда не видел чтобы кто-то указывал что-то кроме website в этом поле.

3. Здесь указывается имя сайта, в поле content=”” я указал “переменную” из MODX, которая хранит в себе URL адрес сайта (хоста, т.е только kolmogorov.pro). Вы тоже можете ее использовать, она уже создана/объявлена при создании сайта.

4. Og:title это заголовок под изображением. Посмотрите на первый скриншот. “Первая стекольная компания” — это заголовок (og:title).

Еще по теме:  Установить зону на Андроид ТВ

В поле content=”” я объявил свое TV-поле. Если вы не знаете как создать TV поле, то объясню в конце статьи.

5. Обозначение картинки. Вы можете поставить туда одну статичную ссылку и забыть данный пункт. А можете сделать как я. Сначала стоит “переменная” из MODX, которая хранит в себе адрес сайта (хоста). Потом идет мое собственное TV поле, которое хранит в себе изображение записи блога.

6 и 7. Og:image:widht и og:image:height — или на русском: ширина и длина изображения, которое должно придти в социальную сеть. Лучше их объявить здесь, чтобы не было неожиданностей. В моем примере используются размеры картинок, но вот только я их всех самостоятельно стараюсь поджимать под прихоти Open Graph. Вам рекомендую использовать ширину 968, а высоту 504. Это что-то вроде универсального разрешения, которое в 80% случаев отображается как надо.

8. Данное поле отвечает за URL адрес статьи.

В content=”” формируем URL адрес страницы. Все с помощью уже объявленных переменных MODX. Знакомый ++site_url хранит в себе адрес хоста, *alias — соответственно алиас.

что такое алиас

Внимание: должны быть включены дружественные URL.

9. В описание я просто поместил переменную из MODX, которая отвечает за аннотацию. *description — смотрите скриншот выше.

10. Тут уже разбираем twitter. Просто запомните, что это всегда должно быть summary.

11-12. Эти метатеги хранят в себе адрес страницы создателя и автора твита. В целом, чаще всего, всегда одинаковые обозначения. Укажите свой Twitter аккаунт.

Краткий итог

Чтобы вам сделать такой же Open Graph необходимо три вещи. Создать два TV поля (хотя можете для og:title использовать переменную MODX *longtitle — расширенный заголовок) и включить дружественные URL.

Как включить дружественные URL

Это очень легко.

включаем дружественные url на modx

Идем в настройки, далее системы настройки. В фильтре по разделу (3 шаг) набираем “URL” и выбираем “Дружественные URL”. Ниже в списке ищем “Использовать дружественные URL” и вместо “Нет” выбираем “Да” (для изменения просто кликните на “Нет” или “Да”).

Как создать TV поле

как создать tv поля на modx

Идем в элементы, далее жмем “Плюс” в разделе “Дополнительные поля”. Заполняем нужную вам информацию во вкладках “Общая информация”. Далее идем в “Параметры ввода” и выбираем ЧТО будет хранить в себе TV поле: текст, картинку или тег.

Еще по теме:  Экран стал розовым что делать

Не забудьте про следующую вкладку “Доступно для шаблонов”, выберите нужные шаблоны (я выбрал все и подгружаю к каждой странице нужную мне картинку).

Вот и все, друзья. Если помог, подумайте обо мне что-нибудь хорошее и на этом сочтемся.

Опубликовано: 2018-12-26 13:10

Нужен сайт?

Готов за разумную плату разработать сайт, CRM-систему или внедрить дополнительный функционал в существующий проект.

Как связаться

Источник: kolmogorov.pro

Modx вывод tv параметра

No Image

Задача — вывести списосок всех или почти всех TV-параметров данного ресурса в связке Название tv-парметра — Значение tv-параметра чтобы получить симпатичную табличку в частности с характеристиками товара в магазине. Возможно кто-то может вопросить «А зачем такое городить, когда можно просто использовать MIGX-таблицы ?». Все верно, отличный, экономичный способ, но это магазин, и товары фильтруются с помощью mFilter2 , а дзен кастомных методов фильтрации на данный момент не освоен. В любом случае сниппет имеет право на жизнь.

Код сниппета print_props

Доступные плейсхолдеры — [[+name]] , [[+value]] .

  • Пример чанка print_props_tpl:
  • [[+name]]: [[+value]]
  • Пример вызова: [[!print_props?tpl=`print_props_tpl`]]

Комментарии (14)

Поставьте pdoTools и используйте подобные конструкции:

То есть нужно, к примеру, вывести значение TV image от ресурса с >

К примеру, у Вас есть страница «Контакты (5)».
У нее свой шаблон, которому назначено TV поле «phone».
Вы на этой странице забиваете в это поле номер телефона, сохраняете.

Теперь Вы можете вывести этот телефон на всем сайте (на любой странице с любым шаблоном) конструкцией:

Я только недавно перешел на MODX, столкнулся с такой проблемой:

Натягиваю шапку сайта, телефон, адрес и другую инфу в шапке вывожу через TV параметры. Но как я понимаю, эти параметры привязываются к одному ресурсу (главная, внутренняя и др страницы) а мне необходимо чтобы эта инфа была на всех страницах. Подскажите пожалуйста, как лучше поступить?

Возможно можно выводить TV параметры определенного ресурса? В ассортименте есть migx, но он не совсем подходит для единичного поля, он для добавления полей подходит (как я понял).

Нет связанных сообщений

Источник: girlgames01.ru

Оцените статью
Добавить комментарий