Доработка RSS потока
25
В RSS до cut
Почти сразу, как поставил движок, передо мной встал вопрос: как отдавать в rss долько до кут? Не хотелось мне отдавать полные топики в ленту, т.к. материалы можно почитать на сайте, а школьникам лентяям отрезать возможность что-то полезное оттуда грабить.
Теперь это решение кажется уже довольно простым. Достаточно в экшене ActionRss.class.php в одной из функций (например RssGood) изменить одну строку на:
Последние материалы блога в rss
Тут же вылезла проблема, что прочитав анонс пользователю ну совершенно некуда кликнуть. Что согласитесь — форменный бардак. Решил, что нужны «читать далее» и «последние посты топика». Теперь в rss канале футер анонса выглядит так:

Тут порядок такой. В том же файле в той же функции вставлем после:
Этот код:
А ту переменную, что мы уже меняли выше, заменяем на:
Вот собственно и все. У кого есть мысли по поводу развития темы дополнений в rss, пишите — обсудим.
Рабочий пример как обычно можно увидеть на — в данном случае в rss хороших топиков.
UPD: Исправлены ошибки, дополнен код.
Почти сразу, как поставил движок, передо мной встал вопрос: как отдавать в rss долько до кут? Не хотелось мне отдавать полные топики в ленту, т.к. материалы можно почитать на сайте, а школьникам лентяям отрезать возможность что-то полезное оттуда грабить.
Теперь это решение кажется уже довольно простым. Достаточно в экшене ActionRss.class.php в одной из функций (например RssGood) изменить одну строку на:
$item['description']=$oTopic->getTextShort();Последние материалы блога в rss
Тут же вылезла проблема, что прочитав анонс пользователю ну совершенно некуда кликнуть. Что согласитесь — форменный бардак. Решил, что нужны «читать далее» и «последние посты топика». Теперь в rss канале футер анонса выглядит так:

Тут порядок такой. В том же файле в той же функции вставлем после:
foreach ($aTopics as $oTopic){Этот код:
$aFooter="";
$aMyBlogId=$oTopic->getBlogId();
$aMyResult=$this->Topic_GetTopicsByBlogGood($this->Blog_GetBlogById($aMyBlogId),0,1,3);
$aMyTopics=$aMyResult['collection'];
foreach ($aMyTopics as $oMyTopic){
$aFooter=$aFooter.'<li><a href='.$oTopic->getUrl().'>'.$oMyTopic->getTitle().'</a></li>';
}А ту переменную, что мы уже меняли выше, заменяем на:
$item['description']=$oTopic->getTextShort().'
<a href='.$oTopic->getUrl().'>читать полностью</a>
<b>Последнее из блога:</b> <a href='.$oTopic->getBlogUrlFull().'>'.$oTopic->getBlogTitle().'</a><br /><br /><ul>'.$aFooter.'</ul>';Вот собственно и все. У кого есть мысли по поводу развития темы дополнений в rss, пишите — обсудим.
Рабочий пример как обычно можно увидеть на — в данном случае в rss хороших топиков.
UPD: Исправлены ошибки, дополнен код.
- +8
- 17 февраля 2009, 21:01
- BorisBritva
- 12