Темизация вывода ноды в RSS-трансляции. Нужно ли решение?

Главные вкладки

Аватар пользователя albplus albplus 14 января 2011 в 14:20

Здравствуйте!

Всем известно, что у нас ноды на выводе бывают в двух состояниях - это ТИЗЕР и ПОЛНАЯ НОДА.

Удобно темизировать создавая в папке с темой файл node-[node_type].tpl.php. В этом файле среди прочих доступна переменная $teaser: Flag for the teaser state, по которой удобно ориентироваться, в каком состоянии ноду требуется показать. Полный набор информации на эту тему тут (http://drupal.org/node/190815).

Возникла задача - создать RSS ленту. На сайте проекта большое количество разных типов нод, больше половины из них требуется анонсировать через RSS. Как водится, пошел во Views, создал вид RSS. Думаю, сейчас сделаю Row Style = Материал - Аннотация и тизеры моих нод попадут в мою RSS ленту.

Но не тут то было.

В RSS выводятся ноды со всеми полями и метками к полям, короче ужас. И вот о чем я задумался. Почему учтены состояния ТИЗЕР и ПОЛНАЯ НОДА, но нет такого состояния как НОДА В ЛЕНТЕ (или RSS ITEM).

В общем, итогом моих размышлений стал модуль, который позволяет темизировать вывод ноды в RSS ленте, создавая в папке с темой файл node-[node_type]-rss.tpl.php и работая с ним так-же как обычно работаешь с темизацией ноды для тизера либо полной версии.

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

Комментарии

Аватар пользователя albplus albplus 14 января 2011 в 15:21

Да, причем Contemplate сильно помог в решении по данному модулю. Но дело в том что на первых порах знакомства с Drupal я с удовольствием пользовался Contemplate, но со временем полностью перешел на редактирование .tpl.php и template.php файлов темы. Видимо от большого желания работать именно с файлами и родилось решение в виде модуля.

Еще один плюс моего решения в том, что он значительно меньше чем сам Contemplate.

Аватар пользователя albplus albplus 14 января 2011 в 15:40

Нет, функционал не тот же.

Модуль лишь дает возможность темизировать вывод ноды в RSS ленте, создавая в папке с темой файл node-[node_type]-rss.tpl.php

Аватар пользователя DravE DravE 23 января 2011 в 19:01

albplus, Если не сложно выложи модуль, как раз нуждаюсь в таком функционале.

P.S. Касательно Contemplate, он необходим только на начальном этапе.
Лично я им пользовался только для просмотра доступных переменных и считаю ненужным нагружать им сайт.

Аватар пользователя albplus albplus 10 ноября 2015 в 11:47

Прикрепил модуль к комментарию.

Вот что интересно, о комментарии от DravE вообще случайно узнал. Почему то нет уведомлений о новых комментах.

Аватар пользователя DravE DravE 24 января 2011 в 15:22

albplus, Большое спасибо! Модуль, то что надо!
Ater, Все работает ! http://domen.com/admin/content/rss-publishing здесь выставь «Содержимое ленты: Полный текст», а дальше в node-[node_type]-rss.tpl.php пиши что надо . После чего обнови кеш и все

Аватар пользователя Ater Ater 24 января 2011 в 17:56

"DravE" wrote:
а дальше в node-[node_type]-rss.tpl.php пиши что надо . После чего обнови кеш и все

так у меня нету этого файлика... или его надо создать самому?

Аватар пользователя albplus albplus 26 января 2011 в 7:29

"Ater" wrote:
а как сделать так что бы в RSS не попадали CCK поля?

Если не использовать мой модуль, то достаточно в настройках ваших CCK полей убрать их из RSS. Если с моим модулем, то распечатайте объект $node в файле node-[node_type]-rss.tpl.php и все станет понятно.