Как самому сформировать RSS-поток в Textpattern или добавляем картинки в RSS?

Как самому сформировать RSS-поток в Textpattern?

Как-то я обратил внимание, что в RSS-потоке, который сформирован Textpattern`ом, не выводятся изображения к статьям. Такое положение дел показалось для меня не совсем достойным для одного из самых лучших блоговых движков. Немного погуглив я понял, что стандартного решения в виде плагинов, нет. Но так как Textpattern является одной из самых гибких CMS, то решение было найдено. Благодаря этому решению появилось возможность самостоятельно формировать RSS-поток на свое усмотрение, а также возможность создания нескольких RSS-потоков на одном сайте.

Данное решение – это не моя личная находка, а подсмотренная отличная идея на забугорном сайте.

Сама идея заключается в том, что формировать свой RSS-поток мы будем в отдельной секции, которая будет специально для этого создана.

Чтобы самому сформировать RSS-поток в Textpattern`е

  1. Создаем новую страницу.
  2. Переходим в админ-панели Оформление→Страницы и создаем новую станицу с именем newrss, в которую вставляем html-код:
    <?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/">
      <channel>
        <generator>https://textpattern.com/</generator>
        <title><txp:site_name /><title>
        <link><txp:link_to_home /></link>
        <pubDate><txp:php>echo strftime( "%a, %d %b %G %T %Z" );</txp:php></pubDate>
        <txp:article_custom allowoverride="0" form="newrss" limit="5" pgonly="0" section="articles" sort="Posted desc" status="4" time="past" />
      </channel>
    </rss>

    Этот код формирует саму html-структуру RSS-потока, который принимается всеми современными браузерами как обычный RSS-поток. Ключевым моментом здесь является конструкция <txp:article_custom … />, которая и выводит статьи в RSS.
  3. Создаем новую форму. Переходим в админ-панели Оформление→Формы, где создаем новую форму с именем newrss (тип формы articles), в которую вставляем код:
    <item>
      <title><txp:title /></title>
      <description>
        <![CDATA[
          <txp:article_image />
          <txp:body />
        ]]>
      </description>
      <link><txp:permlink /></link>
      <pubDate><txp:posted format="%a, %d %b %G %T %Z" /></pubDate>
      <dc:creator><txp:author /></dc:creator>
      <guid><txp:permlink /></guid>
    </item>

    Здесь самое главное содержится в конструкции <![CDATA[ … ]]>, в которую нужно включить то, что Вы хотите видеть в RSS-потоке.
  4. Создаем новую секцию.
    Переходим Оформление→Секции и создаем новую секцию с именем newrss
    1. Использовать страницу: newrss
    2. Выбрано по умолчанию: нет
    3. На главной странице: нет
    4. Публиковать в RSS: нет
    5. Включить в поиск по сайту: нет
      Теперь можно перейти по ссылке https://ваш_сайт/newrss и увидеть получившийся результат.
  5. Изменяем адрес RSS значка в адресной строке.
    Я уже писал об этом в статье «Как изменить адрес RSS значка в адресной строке?» и теперь эта информация пришлась как нельзя кстати. Новый RSS-поток, который был сформирован выше нужно как-то поместить в адресную строку, чтобы сделать как было до нашего вмешательства. Для этого нужно разместить одну строчку между <head> … </head> на станице default (Оформление→Страницы)
    <head>
    ...
    <link rel="alternate" type="application/rss+xml" href="https://ваш_сайт/newrss" />
    </head>

    Вроде бы все, ничего не забыл. Благодаря этому теперь можно сделать сколько угодно RSS-потоков и к тому же выводить в них ту информацию, на которую хватит смелости и фантазии.
Комментарии
  1. Руслан опубликовал 6 Июль 2011, 19:42 #

    А в этой строке так и оставить? Или вписать свой сайт?
    <generator>http://textpattern.com/</generator>

    | Ответить
    • Admin опубликовал 13 Июль 2011, 06:31 #

      У меня так и осталось

      | Ответить
  2. Руслан опубликовал 6 Июль 2011, 20:14 #

    <txp:sitename /> надо заменить на <txp:site_name />

    | Ответить
    • Admin опубликовал 13 Июль 2011, 06:32 #

      Точно, спасибо. Поправил

      | Ответить
  3. Руслан опубликовал 12 Май 2012, 04:01 #

    Обновил textpattern до версии 4.4.1 и в ленте, сделанной по этому примеру перестала отображаться дата. Что ей может не нравиться?

    | Ответить
    • Mut@NT опубликовал 17 Май 2012, 14:00 #

      Руслан: Обновил textpattern до версии 4.4.1 и в ленте, сделанной по этому примеру перестала отображаться дата. Что ей может не нравиться?

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

      | Ответить
    • Mut@NT опубликовал 11 Июль 2012, 13:48 #

      Только что проделал все что тут описано на сайте с TXP 4.4.1. Все встало как надо )))

      | Ответить
Имя
e-mail
Текст комментария: # ×


Комментарии
Облако тегов
Интересное