RSS

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

создание rss для своего компонента

#1 5 мая 2014 в 16:36
Всем добрый день.

листаю документацию instantcms 1

нигде не найду внятное описание, да и вообще хоть какое-то описание как работает Rss. Какой у него урл, как создать свою rss ленту для нового компонента.


я поняла, что за rss отвечает компонент rssfeed Но не понимаю как…
Нашла у себя на сайте rss ленту instant.site.ru/rss/forum/all/feed.rss Но судя по роутеру не нахожу 10 сходств

  1.  
  2. function routes_rssfeed(){
  3.  
  4. $routes[] = array(
  5. '_uri' => '/^rssfeed\/([a-z]+)\/(.+)$/i',
  6. 1 => 'target',
  7. 2 => 'item_id'
  8. );
  9.  
  10. return $routes;
  11. }
В общем надо.

У меня новый компонент, например test Я в него в файле prss.php впишу например
  1.  
  2. function rss_forum($item_id, $cfg){
  3.  
  4. $channel['title'] = $_LANG['LAST_THREADS'];
  5. $channel['description'] = $_LANG['LAST_THREADS'];
  6. $channel['link'] = HOST . '/test';
  7.  
  8. $items = array( .... );
  9.  
  10. $rssdata = array();
  11. $rssdata['channel'] = $channel;
  12. $rssdata['items'] = $items;
  13.  
  14. return $rssdata;
  15. }
НО вот вопрос. По какому урлу будет отображаться rss моего компонента?

нашла url_rewrite.php
  1.  
  2. // RSS
  3. //
  4.  
  5. $rules[] = array(
  6. 'source' => '/^rss\/([a-z]+)\/(.+)\/feed.rss$/ui',
  7. 'target' => 'rssfeed/{1}/{2}',
  8. 'action' => 'rewrite'
  9. );
  10.  
по идее instant.webolga.ru/rss/test/all/feed.rss, но что-то 404 показывает sad

Подскажите, что ещё сделать надо?
#2 5 мая 2014 в 17:48
все проще, каждый компонент имеет свой файл prss.php — это обработчик формирующий массив данных для ленты, вызывается он из компонента rssfeed, открыв его роутинг можно увидеть вот такую строку '/^rssfeed\/([a-z]+)\/(.+)$/i', где первое значение это таргет в частности имя компонента, второй это id элемента.

доступ будет /rss/test/1…
#3 5 мая 2014 в 18:38


все проще, каждый компонент имеет свой файл prss.php — это обработчик формирующий массив данных для ленты, вызывается он из компонента rssfeed, открыв его роутинг можно увидеть вот такую строку '/^rssfeed\/([a-z]+)\/(.+)$/i', где первое значение это таргет в частности имя компонента, второй это id элемента.

доступ будет /rssfeed/test/1

maxisoft
Макс, где твой аватар?)
#4 5 мая 2014 в 19:03

Макс, где твой аватар?)

Maikl
сменил на своего бойцового кота, чтобы немного нагнать страха на оппонентов.
#5 6 мая 2014 в 06:12
Извините, но не работает :(
И доступ не будет /rssfeed/test/1, так как в url_rewrite написано правило перенаправления на /rss/…
#6 6 мая 2014 в 09:07
сложно сказать диагноз если не видишь пациента, могу предположить что нет файла prss.php в компоненте.
#7 6 мая 2014 в 15:35
есть....
может есть дока по rss-у, да я найти не могу?

а коли не знаете где дока, придется разрыть весь код...

пойму в чем проблема, отпишусь
#8 6 мая 2014 в 16:50
Ага, я поняла… Зря я написала, что компонент Test называется. У меня в названии компонента есть цифра… А регулярку я не внимательно рассматривала. Теперь ясно, что надо поправить регулярку в роутере

'_uri' => '/^rssfeed\/([a-z0-9]+)\/(.+)$/i',

Похожие темы

RSS лента

Компоненты Создана 3 года назад 3 сообщения

RSS в форуме не работает

Сайт и форум проекта Создана 1 год назад 2 сообщения

RSS Дзена

Разработка и тестирование Создана 11 месяцев назад 22 сообщения

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.