RSS Feed для Турбо-страниц 2.X

631
Сделал для себя,выкладываю по просьбам трудящихся правильный rss feed для Турбо-страниц

RSS Feed для Турбо-страниц



Как сказано в документации к движку
InstantCMS:
Вы можете по аналогии делать свои шаблоны вывода, которые нужно разместить по пути /templates/default/controllers/rss/. После чего они появятся в опции автоматически.

Создайте свой файл шаблона /templates/ВАШ_ШАБЛОН/controllers/rss/turbo.tpl.php


Код PHP:
  1.  
  2. <?php
  3. $config = cmsConfig::getInstance();
  4. if ($category){ $feed['title'] = $feed['title'].' / '.$category['title']; }
  5. if ($author){ $feed['title'] = $author['nickname'].' - '.$feed['title']; }
  6. $feed_title = sprintf(LANG_RSS_FEED_TITLE_FORMAT, $feed['title'], $config->sitename);
  7. ?>
  8. <?php echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; ?>
  9. <rss xmlns:yandex="http://news.yandex.ru" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  10. <channel>
  11. <title><?php html($feed_title); ?></title>
  12. <link><?php html($config->host); ?></link>
  13. <?php if(!empty($feed['image'])) { ?>
  14. <image>
  15. <url><?php echo $config->upload_host_abs.'/'.$feed['image']['normal']; ?></url>
  16. <title><?php html($feed_title); ?></title>
  17. <link><?php html($config->host); ?></link>
  18. </image>
  19. <yandex:logo><?php echo $config->upload_host_abs.'/'.$feed['image']['normal']; ?></yandex:logo>
  20. <yandex:logo type="square"><?php echo $config->upload_host_abs.'/'.$feed['image']['normal']; ?></yandex:logo>
  21. <?php } ?>
  22. <?php if(!empty($feed['items'])) { ?>
  23. <?php foreach($feed['items'] as $item){ ?>
  24. <item turbo="true">
  25. <?php if(!empty($feed['mapping']['title'])) { ?>
  26. <title><?php html($item[$feed['mapping']['title']]); ?></title>
  27. <?php } ?>
  28. <link><?php echo $item['page_url']; ?></link>
  29.  
  30. <?php if(!empty($item['user_nickname'])) { ?>
  31. <author><?php html($item['user_nickname']); ?></author>
  32. <?php } ?>
  33.  
  34. <?php if(!empty($feed['mapping']['pubDate'])) { ?>
  35. <pubDate><?php html(date('r', strtotime($item[$feed['mapping']['pubDate']]))); ?></pubDate>
  36. <?php } ?>
  37.  
  38. <turbo:content>
  39. <?php if(!empty($feed['mapping']['title'])) { ?>
  40. <title><?php html($item[$feed['mapping']['title']]); ?></title>
  41. <?php } ?>
  42.  
  43. <?php if(!empty($feed['mapping']['description'])) { ?>
  44. <description><?php html(html_clean($item[$feed['mapping']['description']], 150)); ?></description>
  45. <yandex:full-text><?php html(html_clean($item[$feed['mapping']['description']])); ?></yandex:full-text>
  46. <?php } ?>
  47. <?php if(!empty($feed['mapping']['image'])) { ?>
  48. <?php $image = cmsModel::yamlToArray($item[$feed['mapping']['image']]); ?>
  49. <?php if (!empty($image[$feed['mapping']['image_size']])){ ?>
  50. <?php $imgp = img_get_params($config->upload_path.$image[$feed['mapping']['image_size']]); ?>
  51. <enclosure url="<?php echo $config->upload_host_abs.'/'.$image[$feed['mapping']['image_size']]; ?>" type="<?php echo $imgp['mime']; ?>" length="<?php echo $imgp['filesize']; ?>" />
  52. <?php } ?>
  53. <?php } ?>
  54.  
  55.  
  56. </turbo:content>
  57.  
  58. </item>
  59. <?php } ?>
  60. <?php } ?>
  61. </channel>
  62. </rss>
  63.  
в файле robots.txt добавить строчку

Код PHP:
  1.  
  2. User-agent: Yandex
  3. ........
  4. ........
  5. Allow: /rss/feed/
  6. ........
  7. ........
  8.  
Определение устройства пользователя в профиле | Просмотры профиля
Комментарии (27)
Нико 25 декабря 2017 в 13:43 +1
small user social cms
Подскажите где находится роботс.тхт или ее надо создать в той же папке ?
garry 25 декабря 2017 в 13:58 0
small user social cms
В корне вашего сайта ищите - вашсайт.ру/robots.txt
TOPg 25 декабря 2017 в 15:10 +1
small user social cms
Яндекс Дзен кстати тоже прошел модерацию!
Нико 25 декабря 2017 в 15:30 0
small user social cms
Как можно создать такое для фесбук моментальных статей на сайте много таких вопросов но пока ответов нет ?

Код PHP:
  1. <rss version="2.0"
  2. xmlns:content="http://purl.org/rss/1.0/modules/content/">
  3. <channel>
  4. <title>News Publisher</title>
  5. <link>http://www.example.com/</link>
  6. <description>
  7. Read our awesome news, every day.
  8. </description>
  9. <language>en-us</language>
  10. <lastBuildDate>2014-12-11T04:44:16Z</lastBuildDate>
  11. <item>
  12. <title>This is an Instant Article</title>
  13. <link>http://example.com/article.html</link>
  14. <guid>2fd4e1c67a2d28fced849ee1bb76e7391b93eb12</guid>
  15. <pubDate>2014-12-11T04:44:16Z</pubDate>
  16. <author>Mr. Author</author>
  17. <description>This is my first Instant Article. How awesome is this?</description>
  18. <content:encoded>
  19.  
  20. <!doctype html>
  21. <html lang="en" prefix="op: http://media.facebook.com/op#">
  22. <head>
  23. <meta charset="utf-8">
  24. <link rel="canonical" href="http://example.com/article.html">
  25. <meta property="op:markup_version" content="v1.0">
  26. </head>
  27. <body>
  28. <article>
  29. <header>
  30. <!— Article header goes here -->
  31. </header>
  32.  
  33. <!— Article body goes here -->
  34.  
  35. <footer>
  36. <!— Article footer goes here -->
  37. </footer>
  38. </article>
  39. </body>
  40. </html>
  41.  
  42. </content:encoded>
  43. </item>
  44. </channel>
  45. </rss>
Нужно сделать такое как пишет феййсбук что бы прошел модерацию.
TOPg 25 декабря 2017 в 15:31 0
small user social cms
это отдельное что то для фейсбук? можно больше информации?
Нико 25 декабря 2017 в 15:33 0
small user social cms
Фейсбуке есть моментальные статьи. Но они требуют что бы был подходящий им rss. Вот
Код PHP:
  1. https://developers.facebook.com/docs/instant-articles/publishing/setup-rss-feed
TOPg 26 декабря 2017 в 18:03 +1
small user social cms
Товариши, у кого была проблема с добавлением в вебмастере из-за непонятных ошибок, выяснилось что проблема у самого яндекса, вопрос они решают, выяснилось, это в процессе моей переписки, со службой поддержки так, как почувствовал, что то не здоровое, ведь все было правильно, также пообещали добавить анализ канала и теперь будет понятно,если что то с ним не так! Всем, Мир! С Наступающим!
@SHDF2 27 декабря 2017 в 09:20 0
no avatar
Добрый день. А для первой ветки кто нибудь не делал? Интересует для турбо страниц. А так же генерация Accelerated Mobile Pages (AMP)
TOPg 27 декабря 2017 в 13:25 0
small user social cms
дЫк по аналогии, там же все просто, я бы помог да первой ветки нет)
@SHDF2 27 декабря 2017 в 23:43 0
no avatar
А вот мне не просто, сколько копался и не получилось.
TOPg 28 декабря 2017 в 09:35 0
small user social cms
скиньте мне файл где в первой ветке формирутеся рсс, сделаю вам
TOPg 28 декабря 2017 в 09:35 0
small user social cms
в ЛС
saraqael 27 декабря 2017 в 23:48 0
small user social cms
Так почему бы не сделать эти турбо страницы+AMP одним плагином, да зипихнуть туда еще opengraph и shema?
ЗЫ. ну это так мысли в слух)
saraqael 27 декабря 2017 в 23:55 0
small user social cms
Моментальные статьи появись так же и в vk
TOPg 28 декабря 2017 в 09:34 0
small user social cms
лет 5 назад, если не больше уже))
Бичукин Андрей 3 января 2018 в 13:40 0
small user social cms
У меня есть для турбо. Сделал дубликат стандартного RSS и немного доработал под турбо яндекса. Если нужда актуальна, могу поделиться.
Бичукин Андрей 3 января 2018 в 22:27 0
small user social cms
Компонент для первой ветки выложил сюда, если кому нужно
MegaRostov 28 декабря 2017 в 09:10 0
small user social cms
Подскажите!
Добавить RSS-канал - Укажите адрес RSS канала
Вставляю https://мой сайт/rss/feed/news - Ошибка
Может нужно другое что то вставлять?
Раскажите!...
TOPg 28 декабря 2017 в 09:34 0
small user social cms
посмотрите в настройках RSSон включен? и по этой ссылке что то открывается?
Скела 8 января 2018 в 10:17 0
small user social cms
Добра. Что делаю не так?

В элементе item отсутствует атрибут turbo со значением true (10 ошибок)
MegaRostov 8 января 2018 в 14:24 +1
small user social cms
Нужно подождать пока обработает весь контент.
Вы посмотрите по ссылке вашдомен/rss/feed/novosti появился ли тег <turbo:content>
TOPg 8 января 2018 в 14:50 0
small user social cms
верно!
Скела 8 января 2018 в 16:55 0
small user social cms
<turbo.. не присутствует.. Ошибки так же пишет на все виды контента одинаково и они не проподают (время обхода меняется).
В самом файле прописано
Код PHP:
  1. <item turbo="true">
, а у меня в rss отображается просто item
Андрей 8 января 2018 в 18:10 0
small user social cms
отключите кэширование rss ленты, обновите, а потом опять включите.
TOPg 8 января 2018 в 14:51 0
small user social cms
Вообще на данный момент сервис у Яндекса работает не корректно, при добавлении пишет, что все окей, но как только включаешь пишет ошибка обновления, я писал в суппорт недели 2 назад, они сказали ошибка у них и решают эту проблему!!!
TOPg 16 января 2018 в 18:13 +1
small user social cms
на днях вышли обновления по ленте

Код PHP:
  1.  
  2. [b]Добрый день![/b]
  3.  
  4. В новом году [b]Турбо-страницы[/b] стали быстрее и интерактивнее: теперь они поддерживают галереи изображений, таблицы, списки и цитаты из десктопной версии сайта, а также коды вставки контента из социальных сетей &#8213; Youtube, Vimeo, Instagram, Twitter &#8213; и комментарии читателей.
  5.  
  6. Кроме того, теперь вы можете выводить собственное меню сайта на Турбо-страницах и формировать для пользователей «бесконечную» ленту с помощью блока «Вам может быть интересно». А еще понравившимися материалами теперь легко делиться в соцсетях прямо с Турбо-страниц.
  7.  
кто то уже тестировал их?