![]() |
![]() |
ВходЗдравствуйте, Гость ( Вход | Регистрация )
|
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
Продвинутый юзверь ![]() Группа: Пользователи Сообщений: 62 Регистрация: 16.7.2008 Из: Yaroslavl Пользователь №: 4,709 Спасибо сказали: 5 Вставить ник ![]() |
Пытаюсь включить сайт в партнерскую программу для экспорта новостей, но стандартный rss.xml не подходит.
вот что пишет яша: Кроме стандартных элементов RSS 2.0, для экспорта Данных используется специальный элемент <yandex:full-text>, который должен содержать полный текст сообщения. Этот элемент является обязательным. Полный текст сообщения необходим для индексирования поисковым роботом и на Яндекс.ру не размещается. В полном тексте не должны содержаться название источника и дата/время сообщения, а также контактная информация и любая другая информация, которая повторяется в каждом сообщении. Кроме того, просим исключать из полного текста все тэги форматирования. Файл должен полностью соответствовать примеру данному в описании. См. "Технические требования" в разделе Документы в партнерском интерфейсе (http://partner.news.yandex.ru ). Если эти требования будут аккуратно выполнены, нам не придется много времени тратить на переписку и повторную проверку. Сами требования во вложении. Помогите плз сделать файло.
Прикрепленные файлы
|
|
|
![]()
Сообщение
#2
|
|
Продвинутый юзверь ![]() Группа: Пользователи Сообщений: 62 Регистрация: 16.7.2008 Из: Yaroslavl Пользователь №: 4,709 Спасибо сказали: 5 Вставить ник ![]() |
Уп, Ап, UP
Помогите плззззззз. В друпале и вордпрессе есть модуль такой... мож кто за деньгу что сделает? (IMG:http://antislaed.net/style_emoticons/default/smile.gif) |
|
|
![]()
Сообщение
#3
|
|
Юзверь ![]() Группа: Пользователи Сообщений: 38 Регистрация: 16.1.2009 Из: 阿爾法人馬座 Пользователь №: 6,988 Спасибо сказали: 15 Вставить ник ![]() |
см. аттачмент
тупо только то, что описано в тех.треб. только картинки в теге <enclosure> не вставляются, но если надо можно тоже сделать выводит только новости, настраивать никак не надо, просто положить в корень сайта и всё заработает сразу, можно ещё добавить строки в чпу(.htaccess) типа: КОД RewriteRule ^feed.xml$ feed.php [NC] например после КОД RewriteRule ^rss.xml(.*)$ rss.php$1 [NC] ну и наслаждаться партнёрством с яндексом) ps файл настроен на использование чпу ну, если что-ася(IMG:http://antislaed.net/style_emoticons/default/smile.gif) |
|
|
![]()
Сообщение
#4
|
|
Продвинутый юзверь ![]() Группа: Пользователи Сообщений: 62 Регистрация: 16.7.2008 Из: Yaroslavl Пользователь №: 4,709 Спасибо сказали: 5 Вставить ник ![]() |
А чтот только заголовки выводит при обычном просмотре, там вроде полный текст новости надо? Или я туплю? (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
|
|
|
![]()
Сообщение
#5
|
|
Юзверь ![]() Группа: Пользователи Сообщений: 38 Регистрация: 16.1.2009 Из: 阿爾法人馬座 Пользователь №: 6,988 Спасибо сказали: 15 Вставить ник ![]() |
полный текст не виден из-за того, что тег яндекса отсутствует в спецификации rss, поэтому его никаким агрегатором не увидишь(
решение:заходим на страницу фида браузером-смотрим исходник fixed:проблему с кодировкой и тегами, теперь и ббкоды и хтмл режется нафиг(IMG:http://antislaed.net/style_emoticons/default/smile.gif) как обновите-напишите, я сам заценю что там получается. и кстати киньте в корень сайта файлик logo.gif, как в описании, фид и его выводит
Прикрепленные файлы
|
|
|
![]()
Сообщение
#6
|
|
Продвинутый юзверь ![]() Группа: Пользователи Сообщений: 62 Регистрация: 16.7.2008 Из: Yaroslavl Пользователь №: 4,709 Спасибо сказали: 5 Вставить ник ![]() |
всё нормально - единственное - :
В вашем экспортном файле исключите, пожалуйста, имена и фамилии авторов сообщений из тегов <yandex:full-text>. Для имени и фамилии автора сообщения необходимо формировать отдельный тег <author>. |
|
|
![]()
Сообщение
#7
|
|
Юзверь ![]() Группа: Пользователи Сообщений: 38 Регистрация: 16.1.2009 Из: 阿爾法人馬座 Пользователь №: 6,988 Спасибо сказали: 15 Вставить ник ![]() |
замените код на вот этот:
КОД <?php define("MODULE_FILE", true); include("function/function.php"); include("config/config.php"); get_lang(); header("Content-Encoding: none"); header('Content-Type: text/xml; charset='._CHARSET); echo '<?xml version="1.0" encoding="windows-1251"?> <rss version="2.0" xmlns="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru"><channel>'; echo '<title>'.$conf['sitename'].'</title><link>'.$conf['homeurl'].'</link><description>'.$conf['slogan'].'</description><image><url>'.$conf['homeurl'].'/logo.gif</url><title>'.$conf['sitename'].'</title><link>'.$conf['homeurl'].'</link></image>'; $s = $db->sql_query("SELECT sid, catid, uid, title, time, bodytext FROM ".$prefix."_stories WHERE time <= now() AND status!='0' ORDER BY time DESC LIMIT 20"); while (list($sid, $cat, $uid, $title, $time, $text) = $db->sql_fetchrow($s)) { $r = $db->sql_query("SELECT title FROM ".$prefix."_categories WHERE id=".$cat); list($cat) = $db->sql_fetchrow($r); $text = preg_replace('#\[.*?\]#i', "", $text); $txt[] = '<br />'; $sss[] = ''; $txt[] = '&'; $sss[] = '&'; $txt[] = '<'; $sss[] = '<'; $txt[] = '>'; $sss[] = '&rt'; $txt[] = '\''; $sss[] = '&apos'; $txt[] = '"'; $sss[] = '"'; $text = str_replace($txt, $sss, $text); echo '<item> <title>'.htmlspecialchars($title).'</title> <link>'.$conf['homeurl'].'/news/view/'.$sid.'.html</link> <pdalink>'.$conf['homeurl'].'/news/view/'.$sid.'.html</pdalink> <category>'.htmlspecialchars($cat).'</category> <pubDate>'.htmlspecialchars(date("D, j M Y H:m:s O", strtotime($time))).'</pubDate> <yandex:full-text>'.$text.'</yandex:full-text> </item>'; } echo '</channel></rss>'; ?> а вот из текста к сожалению придётся ручками убирать, ибо таких регеспов не придумтать никак((чтоб резало например Петров Иван. не выйдет так, оно тогда всё зарежет) |
TotoShka, Вас 1 раз(а) поблагодарили за это сообщение: yaroslav76 | |
|
|
![]()
Сообщение
#8
|
|
Продвинутый юзверь ![]() Группа: Пользователи Сообщений: 62 Регистрация: 16.7.2008 Из: Yaroslavl Пользователь №: 4,709 Спасибо сказали: 5 Вставить ник ![]() |
Всё в порядке, спасибо TotoShka!
Страна учтет при разливе (IMG:http://antislaed.net/style_emoticons/default/smile.gif) |
|
|
![]()
Сообщение
#9
|
|
Я только смотрю... ![]() Группа: Пользователи Сообщений: 7 Регистрация: 28.8.2008 Пользователь №: 5,238 Спасибо сказали: 0 Вставить ник ![]() |
замените код на вот этот: КОД <?php define("MODULE_FILE", true); include("function/function.php"); include("config/config.php"); get_lang(); header("Content-Encoding: none"); header('Content-Type: text/xml; charset='._CHARSET); echo '<?xml version="1.0" encoding="windows-1251"?> <rss version="2.0" xmlns="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru"><channel>'; echo '<title>'.$conf['sitename'].'</title><link>'.$conf['homeurl'].'</link><description>'.$conf['slogan'].'</description><image><url>'.$conf['homeurl'].'/logo.gif</url><title>'.$conf['sitename'].'</title><link>'.$conf['homeurl'].'</link></image>'; $s = $db->sql_query("SELECT sid, catid, uid, title, time, bodytext FROM ".$prefix."_stories WHERE time <= now() AND status!='0' ORDER BY time DESC LIMIT 20"); while (list($sid, $cat, $uid, $title, $time, $text) = $db->sql_fetchrow($s)) { $r = $db->sql_query("SELECT title FROM ".$prefix."_categories WHERE id=".$cat); list($cat) = $db->sql_fetchrow($r); $text = preg_replace('#\[.*?\]#i', "", $text); $txt[] = '<br />'; $sss[] = ''; $txt[] = '&'; $sss[] = '&'; $txt[] = '<'; $sss[] = '<'; $txt[] = '>'; $sss[] = '&rt'; $txt[] = '\''; $sss[] = '&apos'; $txt[] = '"'; $sss[] = '"'; $text = str_replace($txt, $sss, $text); echo '<item> <title>'.htmlspecialchars($title).'</title> <link>'.$conf['homeurl'].'/news/view/'.$sid.'.html</link> <pdalink>'.$conf['homeurl'].'/news/view/'.$sid.'.html</pdalink> <category>'.htmlspecialchars($cat).'</category> <pubDate>'.htmlspecialchars(date("D, j M Y H:m:s O", strtotime($time))).'</pubDate> <yandex:full-text>'.$text.'</yandex:full-text> </item>'; } echo '</channel></rss>'; ?> а вот из текста к сожалению придётся ручками убирать, ибо таких регеспов не придумтать никак((чтоб резало например Петров Иван. не выйдет так, оно тогда всё зарежет) Помагите пожалуйста, отправил им этот рсс и они прислали ответ: Согласно техническим требованиям, встречающиеся в тексте символы < > & ' " необходимо заменять на соответствующие элементы: & на & < на < на > ' на ' " на " (здесь точка с запятой - это не разделитель данного списка, а обязательная часть элемента!) Замены должны производиться во всех элементах <item> и <channel> - в <yandex:full-text>, <link>, <title>, <enclosure> и др. Исправьте, пожалуйста, некорректные замены символов в Вашем экспортном файле. Тег <yandex:full-text> должен содержать полный текст сообщения, а у Вас первые предложения исключены из него. Исправьте, пожалуйста, ситуацию так, чтобы тег <yandex:full-text> содержал полный текст сообщения. |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 14 June 2024 - 08:12 |