Вывод ресурсов по TV

getResources это сниппет MODX Revolution, который извлекает содержимое полей из других ресурсов и выводит его в любом удобном для вас виде. Если вы знакомы MODX Evolution, getResources может считаться заменой Ditto.

Почему нужно использовать именно getResources?

getResources отлично подходит для случаев, где вам необходимо объединить и вывести информацию от различных ресурсов в одном месте и в необходимом формате. Наиболее очевидным применением сниппета getResources будет создание основной блоговой страницы сайта, другие возможные блоки использования — слайдеры, страница портфолио, новостная лента.

Как использовать сниппет getResources?

Ниже приведён список шагов описывающих процесс использования сниппета getResources. После того, как вы привыкните к его использованию, большинство описанных шагов будут происходить интуитивно, но так как вы только начинаете, то хорошо иметь под рукой некоторое подобие плана действий. Вот один описанный мною:

Я детально и последовательно опишу каждый из описанных выше шагов. Если вы уже разбираетесь в построении шаблонов и разбираетесь в переменных шаблона и других вопросах шаблонизации, то можете смело переходить прямо к 5 шагу.

MODX — Вывод ресурсов через PdoPage, с разбивкой на страницы и свое оформление пагинации

1. Установка getResources

Я уже установил getResources и мы будем его использовать для создания страницы статьи. Мы будем использовать для шаблона страницы блога шаблон 7 in 1 Business Success Site студии Themeforest. Страница блога (частично) будет выглядеть следующим образом:

Страница блога MODX Revolution

Как видите, у нас есть страница с несколькими компонентами – заголовок, изображение, дата публикации, изображение и отрывок содержания со ссылкой “читать остальную часть записи” к целому посту. Этот шаблон мы будем использовать для объединённого вывода наших статей.

2.Подготовьте шаблон для вывода отдельной статьи:

После установки сниппета getResources, смотрим на оформить стуктуру страниц отдельного вывода статей. Для этого я буду использовать шаблон отдельного поста нашей темы, который я взял из файла single.html. Я уже портировал данный шаблон в свой шаблон и назвал его “7in1 Single Article”. Вот как мой “7in1 Single Article” шаблон будет выглядеть:

[[$7in1-header]] [[$7in1-logo-nav-search-bar]] [[*publishedon:strtotime:date=`%d`]] [[*publishedon:strtotime:date=`%b`]] [[*publishedon:strtotime:date=`%Y`]]

[[*pagetitle]]

Вывод ресурсов по TV [[*content]] Tags: tag3, tag5, tag7
Posted in Latest News | 6 Comments [[$articleCommentStuff_temp]] [[$7in1-articles-sidebar]] [[$7in1-bottomwidgets]] [[$7in1-footer]]

Вы узнаете чанки шапки и подвала, мы уже их использовали, я добавил всего лишь два дополнительных чанка, один для содержимого сайдбара (7in1-articles-sidebar) и одного временного чанка (articleCommentStuff_temp) для секции комментирования, чтобы не нагромождать все элементы. В данный момент эти два чанка содержат статический контент нашего шаблона, но в следующий уроках мы сделаем их динамичными. Так же я добавил две дополнительных переменных шаблона, одну для вывода текста в теге изображения (article_image_title) и другую для самого изображения (article_image – ). Также я добавил другие поля, такие как ИД поста, урлы и др., многое из этого должно быть вам понятно из предыдущих уроков.

3 урок Корпоративный сайт на MODX Revolution. Вывод изображений слайдера через TV поля, ТВ на MODX

Последним моментом, на который я хотел обратить ваше внимание — вывод поля даты. Он производится через publishedon используя при этом функцию PHP strtotime для показа даты в необходимом виде (как в шаблоне нашей темы). Более детально про функцию strtotime и форматирование дат — в конце этого поста ссылки.

Еще по теме:  ТВ приставка ростелеком характеристики

Как я уже говорил, содержимое сайдбаров, теги и секция комментариев – статичны и мы над этим вопросом поработаем в следующих уроках.

3. Добавьте статьи

Отлично, теперь у нас есть шаблон для отдельных страниц и можно двигаться дальше. Создадим несколько статей для нашего сайта, используя этот шаблон, таким образом мы сможем проверить наш вызов getResources. В моём случае я создал контейнер Articles и установил шаблон для него Base Template, который я поменяю позже, когда буду готов выводить объединённый контент. Всередине я размещу парочку контейнеров для каждой категории или темы, которую покрывают мои статьи… например – новости, MODX уроки и др.

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

Другими словами, сделайте все новые ресурсы с этого момента по умолчанию использующими шаблон 7in1 Single Article, а также они должны быть скрытыми от меню. Конечно же, можно отредактировать один за одним все ресурсы и это не будет проблемой, так как остальные мои страницы уже созданы и большинство новых ресурсов буду статьями. Итак, чтобы сделать это, идём System->System Settings, далее фильтр « area» и выбираем “Site”. Нужные настройки – Default Template, Hide from Menus Default.

Настойка шаблона по-умолчанию

После внесения изменений наблюдаем такую картину:

Настройка шаблона по-умолчанию в MODX Revolution

Теперь, при создании нового ресурса, он берёт шаблон отдельной статьи по умолчанию и уже поставлена галочка в Скрыть от меню (Hide From Menus).

Заметка: Обратите внимание, что такое поведение будет в случае, когда документ создаётся в корне. Если же вы зайдёте в любой контейнер и нажмёте «Создать документ здесь» (Create a Document Here), то он возмёт шаблон контейнера и скроет от меню. Поэтому будьте внимательны к настройкам каждого ресурса.

Давайте продолжим и создадим около 8 простых статей для нашего сайта, чтобы сниппет мог их объединить и вывести getResources. Я беру сгенерированный текст отсюда http://www.malevole.com/mv/misc/text/ и произовальные картинки из Гугла. Позже при наличии времени я заменю этот текст другим необходимым, здесь же в целях обучения будет достаточно наличия любого текста и картинок. Вот как выглядит дерево моего сайта в данный момент:

Дерево ресурсов MODX Revolution

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

4. Подготовка страницы агрегированного контента.

Если вы используете тот же шаблон, что и я, то посмотрите на код и вы увидите, что он почти не отличается от кода для обычного шаблона, но без секции комментирования и других аналогичных элементов, поэтому можно использовать те же чанки и код, что мы использовали ранее. Вот как будет выглядеть шаблон 7in1 Aggregated Articles:

[[$7in1-header]] [[$7in1-logo-nav-search-bar]] [[*content]] [[$7in1-articles-sidebar]] [[$7in1-bottomwidgets]] [[$7in1-footer]]

Еще по теме:  Как подключить джойстик к Смарт ТВ

Теперь я использую данный шаблон для вывода содержимого ресурсов — дочерних элементов следующих контейнеров – контейнер Articles и каждого из контейнеров для категорий, в моём случае — MODX News, MODX Web Development, MODX Tips and Tricks и Other Stuff. Теперь одна из категорий будет выглядить приблизительно так:

Сайт MODX Revolution после изменений

Давайте перейдём к выводу нашего контента.

5. Базовый вызов сниппета getResources

Перед тем, как мы начнём формировать вызов сниппета и работать с getResources, важно познакомится с несколькими вещами, которые могут легко ввести в заблуждение, если вы до этого не были знакомы с getResources и даже если вы знакомы. Я называю их мои getResources уловки!

  • Вызов getResources по-умолчанию не содержит шаблона вывода. Вам необходим шаблон — tpl-чанк, чтобы определить вывод содержимого ресурса (ресурсов).
  • getResources по-умолчанию не покажет ресурсы, которые скрыты от меню, поэтому вам необходимо задать includeContent=`1`
  • В дополнение, если даже вы установите includeContent, сниппет getResources по-умолчанию не включит переменные шаблона, поэтому вам необходимо задать processTVs=`1`
  • Если вы зададите includeTVs и processTVs, сниппет getResources будет ожидать, что в вашем шаблоне tpl, вы будете обозначать ваши переменные шаблона префиксом “tv.”. Вы можете перезаписать это добавив resources=`1,2,3`, где 1,2,3 — выводимые ресурсы, то не забудьте обязательно указать параметр showHidden и установить его значение в true. Поэтому отредактируйте ваш вызов:

    [[!getResources?

    Tags: tag3, tag5, tag7
    Posted in Latest News | 6 Comments

    Вывод ресурсов по tv

    Расскажите об этом видео своим друзьям в социальных сетях!

    Качество: HD Зрителей: 370273 Добавлено: 17-09-2023 Продолжительность: 08:8:8

    QR-код для скачки на смартфон

    Скачать ModX Revo - Урок №3.1 Шаблоны. Вывод ресурсов и создание TV поля Смотреть ModX Revo - Урок №3.1 Шаблоны. Вывод ресурсов и создание TV поля

    Комментарии
    Сейчас комментируют

    Четкий Рэп про Спорт-николай шкапар — Скачать/Смотреть
    ⇒ «Неплохой рэп, правда используется простой бит, но стелит хорошо. За текст респект. Что касается выбора между бухать и вести ЗОЖ, то все о�—«
    Добавлено — 20.09.2023 Сергей Безруков про маму [Берегите родителей]-# 55 — Скачать/Смотре—
    ⇒ «ЦВЕТЫ МНЕ ДАРЯТ. А плакала всю песню. Дарить цветов, мамам, много не надо, дарите по одному, но чаще! Старость нас не пугает, если уже приш—«
    Добавлено — 20.09.2023 FEDUK — Моряк (ПРЕМЬЕРА КЛИПА 2018)-FEDUK — Online
    ⇒ «Федя — талантливый исполнитель, за его творчеством слежу около двух месяцев и мне нравится. И да, песня «Моряк» одна из лучших. Разум—«
    Добавлено — 20.09.2023 Отопление гаража. Супер — печь из баллона «100 % КПД»-Дневник Механи�—
    ⇒ «Есть отличные мини газовые горелки и печки с баллончиками, места меньше займут чем брёвна. А если дождь — сиди голодный, а мини печь и го—«
    Добавлено — 20.09.2023 Ивановы-Ивановы — комедийный сериал HD — 1 и 2 серии-molodejjtv — Online
    ⇒ «Сериал просто супер, мне нравится его смотреть, очень интересный сюжет. каждый актер играет свою роль, так что при его просмотре забывае—«
    Добавлено — 20.09.2023

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

    sashabeep / efilter Goto Github PK

    если считаете данный продукт полезным и хотите отблагодарить автора материально, либо просто пожертвовать немного средств на развитие проекта — можете сделать это на любой удобный Вам электронный кошелек в системе Webmoney
    WMR: R133161482227
    WMZ: Z202420836069
    с необязательной пометкой от кого и за что именно 🙂

    • модуль eLists — для удобного формирования списков значений ТВ (чтобы не захламлять дерево и визуально понятно их редактировать)
    • плагин tovarParams — для показа в админке при редактировании товара только тех параметров, которые заданы для данной категории товаров
    • набор сниппетов для формирования формы и проведения фильтрации

    обязательные дополнительные компоненты (без их установки решение не работает):

    • сниппет DocLister
    • компонент multiTV

    Найдите в Extras сниппет eFilter (версия 0.1) и нажмите установить.
    При этом создадутся все необходимые элементы и связи между ними:

    • модуль eLists
    • сниппеты (eFilter, eFilterResult, multiParams, tovarParams, getSortBlock)
    • плагин eFilterHelper
    • TV tovarparams
      Переходим к пункту «Настройка»

    Отредактировать параметры настройки модуля
    ID TV параметров товара tovarparams — вписываем сюда id нашего созданного при установке tv tovarparams
    ID шаблонов товара — перечисляем через запятую id шаблонов «Товар»
    ID категории параметров — ID категории, в которой будут храниться все tv, в которых задаются параметры товара (размер, цвет, материал и т.п.)
    Не включать ТВ в параметры при выводе — — т.к. изначально в списке параметров будут выведены все параметры для данного типа товара из категории «Параметры товара», то можно его проредить, убрав ненужные ТВ (например цена, наличие и другие общие параметры для всех товаров которые можно вывести отдельно)
    Имя чанка вывода товара — имя чанка вывода товара в список (используется вместо задания паттерн»)
    ID TV, используемого для связки товар-категории через tagSaver — если вы используете для создания тегов плагин tagSaver и хотите, чтобы товары участвовали в фильтрации по притегованной категории — введите сюда id tv, которые обрабатываются плагином tagSaver

    пример вызова сниппета eFilter

    [!eFilter!] [+eFilter_form+]
    Данный сниппет, используя заданную для конкретной категории конфигурацию фильтра формирует форму и результаты фильтрации. Сама форма устанавливается в плейсхолдер [+eFilter_form+] и может быть выведена в любом месте шаблона (но обязательно после вызова фильтра).
    А результаты фильтрации выводятся сниппетом для вывода результатов eFilterResult — о нем чуть позднее.

    дополнительные параметры вызова сниппета eFilter

    ajaxMode= 2 — 1 — перезагрузка и формы и результатов в режиме ajax, 2 — перегружается только форма, а результаты обновляются только после ручного сабмита формы (default 1)
    changeState= 0 — изменение url при каждом ajax-запросе (default 1)
    cfg — название конфига для вывода фильтра из папки configs (по-умолчанию — default и соответственно конфиг с именем config.default.php)
    btnText — текст на кнопке формы (по-умолчанию «Найти»)
    nosortTvId — перечень tv, для которых в выводе формы не нужно применять сортировку (по-умолчанию варианты сортируются «по алфавиту» — для строк, и «по возрастанию» — для значений, распознанных как числовые)
    endings — список из тре слов для plural через запятую (по-умолчанию ‘товар,товара,товаров’)
    tvConfig — конфиг tovarparams для формирования фильтра (по-умолчанию берется конфиг текущей категории либо первый непустой конфиг родителя)
    parents=`[*id*]` paginate=`pages` tvList=`image,price`!] в данном сниппете используется DocLister, собственно, параметры вызова аналогичны. В чанке вывода товара в список tvList=`image,price` включаем нужные параметры из других категорий, а также общих tv-параметров для всех видов товаров

    В нужном месте шаблона вывода товара (он у нас общий для всех видов товаров) помещаем вызов сниппета [[tovarParams]] для вывода нужного списка нужных ТВ из категории «Параметры товара» (id этой категории задан в модуле и он важен для всей работы).

    По вопросам сотрудничества обращайтесь на электронный ящик [email protected]

    Источник: coder.social

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