Preview топика в Rss

Суть проблемы в том, что по-умолчанию в RSS ленту попадает самое первое изображение из топика, а это не всегда удобно. Зато в Превью топика загружается обычно самая адекватная картинка (т.к. делается это руками). Соответственно как это сделать.



Решил проблему netlanc.

Идем в public_html / plugins / mainpreview / classes / actions и создаем там файл ActionRss.class.php с таким содержанием:

<?php


class PluginMainpreview_ActionRss extends PluginMainpreview_Inherit_ActionRss
{

    /**
     * Формирует текст топика для RSS
     *
     */
    protected function getTopicText($oTopic) {
        $sText=$oTopic->getTextShort();
        if ($oTopic->getTextShort()!=$oTopic->getText()) {
            $sText.="
<a href=\"{$oTopic->getUrl()}#cut\" title=\"{$this->Lang_Get('topic_read_more')}\">";
            if ($oTopic->getCutText()) {
                $sText.=htmlspecialchars($oTopic->getCutText());
            } else {
                $sText.=$this->Lang_Get('topic_read_more');
            }
            $sText.="</a>";
        }
        $aPlugins = $this->Plugin_GetActivePlugins();
        if (in_array('mainpreview', $aPlugins) && $oTopic->getPreviewImageWebPath('230crop')){
            $sText = '<img src="' . $oTopic->getPreviewImageWebPath('230crop') . '" alt="'.$oTopic->getTitle().'" title="'.$oTopic->getTitle().'" /><br /> ' . $sText;
        }
        return $sText;
    }

}
?>


Теперь плагин Mainpreview еще и модифицирует RSS, добавляя туда картинку из превью топика.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.