We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!

RSS

    • 1469
    • 18 Posts
    Как реализовать rss в modx?
      • 11132
      • 41 Posts
      Этот вариант черновой, буду дорабатывать до валидности. Делал для Revo 2.0.х

      Я делал с помощью getResources. У меня есть ветка вне самого сайта, куда размещаются новости и из которой тем же getResources делается лента новостей.
      Вне дерева сайта создается страница с типом содержимого XML. на ней только вызов сниппета, который формирует записи ленты в нужном формате.

      Содержимое страницы:
      [[!getResources? &parents=`...` &limit=`30` &tpl=`blogPostRSS` &includeContent=`1` &showHidden=`1` &includeTVs=`1`]]


      Чанк blogPostRSS
      <item>
      <title>[[*pagetitle]]</title>
      <guid isPermaLink="true"><![CDATA[
      [[+tv.RSSLink]]
      ]]></guid>
      <link><![CDATA[
      [[+tv.RSSLink]]
      ]]></link>
      <comments><![CDATA[
      [[+tv.RSSLink]]
      ]]></comments>
      <description><![CDATA[
      [[+content:replace=`"адрес_от_рута_страницы1=="[[++site_url]]адрес_от_рута_страницы1`:replace=`"адрес_от_рута_страницы2=="[[++site_url]]адрес_от_рута_страницы2`:replace=...]]
      ]]></description>
      <pubDate>[[+publishedon:strtotime:date=`%a, %d %b %Y %T +0400`]]</pubDate>
      <author><![CDATA[...]]></author>
      <category><![CDATA[...]]></category>
      </item>​


      Вводится TV RSSLink, в которой храниться линк, выводимый для записи (у нас он часто ведет на какую-либо внешнюю страницу или документ)

      Шаблон для страницы так же делается по формату RSS-лент
      <?xml version="1.0" encoding="utf-8"?>
      <rss version="2.0">
      <channel>
      <title>[[*longtitle]]</title>
      <link>[[++site_url]]</link>
      <description>...</description>
      <language>ru</language>
      <managingEditor>[email protected]</managingEditor>
      <generator>...</generator>
      [[*content]]
      </channel>
      </rss>


      Надо еще доработать заголовок этого шаблона, в частности буду признателен за наводку на сниппет, который выводит дату и время обращения страницы в нужном формате.
        • 785
        • 2,113 Posts
        Quote from: anbiosart at Dec 10, 2010, 08:38 AM

        Как реализовать rss в modx?
        Какой версии MODx?
          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 961
          • 46 Posts
          Так же интересует данный вопрос для версии 1.0.4 .
            • 26883
            • 137 Posts
            Quote from: AlexandrP at Jan 31, 2011, 04:43 PM

            Так же интересует данный вопрос для версии 1.0.4 .
            Да очень просто.

            1. Делаете страницу с алиасом, например, rss. Для этой страницы тип содержимого должен быть text/xml и пустой (blank) шаблон

            2. На странице делаем вызов Ditto, наподобие:

            [!Ditto? &parents=`1498,1503,1502` &format=`rss` &tpl=`ditto_rss_tpl`!]


            возможны и другие варианты, например
            [!Ditto? &parents=`1498,1503,1502` &format=`atom` &tpl=`ditto_atom_tpl`!] 


            Разумеется, parents (или иной параметр Ditto) подставляем свои. Ссылочные tpl - это чанки, в которых определяется, что выводить. Например ditto_rss_tpl может быть наподобие:

            <item>
             <title>[+rss_pagetitle+]</title>
             <link>[(site_url)][~[+id+]~]</link>
             <description><![CDATA[ [+longtitle+] ]]></description>
             <pubDate>[+rss_date+]</pubDate>
             <guid isPermaLink="false">[(site_url)][~[+id+]~]</guid>
             <dc:creator>[+rss_author+]</dc:creator>
             [+tagLinks+]
            </item>


            format - ссылка на один из файлов формата. Если &format=`rss`, то на

            assets/snippets/ditto/formats/rss.format.inc.php

            3. Вот эту страницу с алиасом rss, и отдаете в виде rss-ленты своего сайта.

              • 961
              • 46 Posts
              Вот так и делал и на ленту в feedburner пишет

              Received HTTP error: "Not Found" while fetching source feed.
              Идентифицировать источник фида
              Назад в Мои фиды

              URL фида, который ты добавил:

              http:// ... /rss.html

              Мы не смогли обнаружить действующего фида по данному адресу. Вот несколько причин произошедшего

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

              Хотя так ссылка открывается и лента показывается . Может кто сталкивался?
                • 11132
                • 41 Posts
                Quote from: AlexandrP at Feb 01, 2011, 01:02 AM

                URL фида, который ты добавил:

                http:// ... /rss.html
                Проверьте в настройках страницы тип содержимого. Потому что вместо расширения .html должно быть .xml
                  • 961
                  • 46 Posts
                  тип содержимого text-xml
                  Адрес ленты .../rss.html
                  Как можно сделать что бы было rss.xml
                  Если уберу в конфигурации .html тогда все ссылки слетят .
                  ТС извините что в вашей теме пишу.
                    • 11132
                    • 41 Posts
                    Quote from: AlexandrP at Feb 01, 2011, 06:46 AM

                    тип содержимого text-xml
                    Адрес ленты .../rss.html
                    А почему вы решили, что адрес ленты .../rss.html? Если просто в браузере этот адрес задать, что-то открывается? Потому что по идее как раз .xml и должно быть разрешение у страницы. Вы сами пишете, что .html ничего эту страницу не видит - значит адрес неверный и скармливаете ридерам.
                      • 961
                      • 46 Posts
                      Так дело в том что страница открывается по адресу сайт/rss.html но при попытке добавить ее допустим в feedburner пишет что не найден рсс .