Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Курилка (http://forum.sape.ru/forumdisplay.php?f=22)
-   -   Срочно нужна помощь! DLE – RSS (http://forum.sape.ru/showthread.php?t=27608)

awe 27.02.2009 23:21

Срочно нужна помощь! DLE – RSS
 
Ребята, кто может, помогите, пожалуйста! Дело такое: в DLE есть 3 формата экспорта новостей, в том числе под Яндекс-новости. Но… как оказалось на практике, отсутствует отправка изображений. Вот что написал мне по этому поводу Яндекс:

«Для иллюстрирования Ваших сообщений необходимо использовать тег
<enclosure> - элемент для иллюстраций, аудио и видеофайлов. Принимаются
иллюстрации с шириной не менее 100 и не более 600 пикселов. Для
изображений параметр type должен совпадать с тем, что отдаётся по
указанному URL.
пример: <enclosure url="http://www.rossiyskie-novosti.ru/2003/03/25/yandex.jpg"
type="image/jpeg"/>»


Насколько я понял, прописать это дело нужно в файле rss.php скорее всего вот в этом месте:

$tpl->template = <<<XML
<item>
<title>{title}</title>
<link>{rsslink}</link>
<description>{short-story}</description>
<category>{category}</category>
<author>{rssauthor}</author>
<pubDate>{rssdate}</pubDate>
<yandex:full-text>{full-story}</yandex:full-text>
</item>
XML;


Но как это сделать???

lay 28.02.2009 07:11

добавь тэг <enclosure>{img}</enclosure>

только в этом случае в {img} нужно будет отдать картинку отдельно. В ДЛЕ нет такой штатной возможности, прийдеться добавлять $tpl->set('{img}',$img); где $img - зарание сформированный урл на картинку, кго можно получить например разобрав short-story в поиске первого тэга <img src="">, или еще проще - взять из таблицы files первую картинку для новости.

В общем вопрос решаемый.

awe 28.02.2009 11:23

lay, спасибо!
Цитата:

Сообщение от lay (Сообщение 395028)
взять из таблицы files первую картинку для новости

а где (в каком файле) и как это нужно прописать?

Я пробовал разобраться, как это реализовано во встроенном в DLE полном варианте RSS, но не разобрался...

lay 28.02.2009 12:14

Подробно разбираться времени нет, но примерный путь покажу:

1. В rss.php в шаблон отвечающий за экспорт на яндекс, вставляете <enclosure>{rssimg}</enclosure>

2. В show_short.php, в блоке

if ($view_template == "rss") {}

определяете тэг {rssimg}

$tpl->set('{rssauthor}', $rss_img);

но перед этим формируете переменную $rss_img

например так:

$news_id=$row['id'];//забираем номер новости в переменную
$rss_img_row=$db->super_query("SELECT images FROM ".PREFIX."_images WHERE news_id='$news_id');//получаем перечень всех картинок загруженных для новости
$rss_img_arr=explode("|||",$rss_img_row['images']);//разбиваем по разделителю |||
$rss_img=$rss_img_arr[0];//Выбираем первую картинку из загруженных ([1] - соотв. 2-я, и т.д.)

Теперь в $rss_img лежит имя файла картинки на сервере, добавляем к нему урл, включая путь до папки в которой он храниться.

Смысл такой, в реализации могут быть косяки, писал на коленке.

awe 28.02.2009 22:38

lay, спасибо! Попробую...

awe 03.03.2009 22:48

Еще вопрос в тему настройки RSS...
Как сделать, чтобы в RSS поступали новости только из избранных категорий?

demvik74 26.03.2010 17:35

способ предложенный не работает

Angelys 06.03.2012 16:10

апну темку ... $rss_img_arr=explode("|||" - тут ошибку дает ... в версии 9.5 .. впринципе все реализовано кроме картинок. Спасибо заранее

ZORGE13 04.07.2015 02:36

Апну тему. Помогите с решением проблемы. Отблагадарю денежкой. Имеется в наличии DLE 10.4. Картинка которую надо поставить в теги <enclosure>{img}</enclosure> первая картинка из полной новости. Заранее спасибо!!!!


Часовой пояс GMT +3, время: 20:30.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.