RSS и фотосет

rssМожно ли как-то настроить, чтобы в RSS ленту попадало изображение отмеченное как превью к топику если тип топика — фотосет?
Сейчас ситуация обстоит так, что если тип топика — текстовый и в нем есть изображение, как например в этом топике, то оно попадет в rss ленту, а если тип топика фотосет, то в rss изображений не будет.

P.S. Поскольку в блоге «Вопросы» никто помочь не смог перенес в «Биржу заказов...». Принимаю предложения. Желательно предложить реализацию не требующую изменения исходного кода, не хочется проблем с обновлениями.

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

avatar
Вот так выглядит текстовый топик с изображением:
rss
avatar
А вот так в rss ленте выглядит топик фотосет:
rss
avatar
хорошая идея )
avatar
Пробовал сделать для ссылки так:
У файле actions/ActionRss/index.tpl
Вставил этот код
<image><url>{$oTopic->getLinkUrl()}</url> <title>{$oItem.title|escape:'html'}</title> <link>{$oItem.link}</link> </image>


Но {$oTopic->getLinkUrl()} переменная выдает ошибку. Не понимаю почему
avatar
Перенес топик из блога вопросы в блог биржа заказов
avatar
Похоже пора переносить в блог «предложения и пожелания» желающих помочь ни бесплатно ни за деньги не нашлось))
avatar
В комментариях к этому топику было предложено использовать для кросспостинга в социальные сети RSS Графити — приложение в ВК и на фейсбуке, которое позволяет постить на стену из rss-ленты. Но без изображений в фотосетах такой постинг будет выглядеть уныло.
avatar
Не понял проблемы. Наверно, у всех же стоит бесплатный плагин Main preview? Он делает превьюшки и для фотосета. И чтобы не морочить себе голова, в ActionRss.class.php там где функция protected function getTopicText($oTopic) просто добавляете строчку вывода этих превью. Типа такой —
$sText.="<img src=\"{$oTopic->getPreviewImageWebPath('235')}\">";
Простой армейский метод :)

  • aex
  • 0
avatar
Нет, не у всех)) спасибо, буду пробовать. Как на мой взгляд — не очень элегантное решение, но как говорится на безрыбье…
avatar
Ну так я ж и говорю — армейское. Вставил и забыл. :)
avatar
забыл, наверное, до первого обновления))
avatar
Да куда уже обновляться? Сколько можно. Эти обновления, как пожары, все менять надо. Даже если и плагин сделать, то и его обновлять придется.
avatar
полностью согласен, стбильность должна быть, а то как Гонка Вооружений )))
avatar
Что то я мучаюсь с этим уже какой день. Не подскажите, вот такой код должен быть или я что-то напутал?

protected function getTopicText($oTopic) {
		$sText=$oTopic->getTextShort();
      	$sText.="<img src=\"{$oTopic->getPreviewImageWebPath('235')}\">";
		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>";
		}
		return $sText;
	}
avatar
Вее можно решить без плагинов, просто брать основную картинку фотосета.
Открываем файл ./classes/actions/ActionRss.class.php, в нем находим функцию protected function getTopicText($oTopic), и после строки
$sText=$oTopic->getTextShort();
добавляете это
if($oTopic->getType()=='photoset'){
$oMainPhoto=$oTopic->getPhotosetMainPhoto();
$sText.='
image';
}
avatar
Шаблон съел текст, сорри.

if($oTopic->getType()=='photoset'){
    $oMainPhoto=$oTopic->getPhotosetMainPhoto();
    $sText.='<img src="'.$oMainPhoto->getWebPath(500).'" alt="image" id="photoset-main-image-'.$oTopic->getId().'" />';
}
avatar
if($oTopic->getType() == 'photoset'){
			foreach($oTopic->getPhotosetPhotos() as $oPhoto){
				$sText.='
<img src="'.$oPhoto->getWebPath(500).'" alt="image" id="photoset-image-'.$oTopic->getId().'"/>';			    	
		    }


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