AntiSlaed CMS
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?
Войти скрытым?

Здравствуйте, Гость ( Вход | Регистрация )

> Внимание!

Адрес нашего форума изменился, теперь мы доступны по адресу antislaed.net. Обновите ссылки и закладки, он больше не изменится.


 
Ответить в данную темуНачать новую тему
> RSS для Яши
yaroslav76
сообщение Feb 26 2009, 19:02
Сообщение #1


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 62
Регистрация:
16.7.2008
Из: Yaroslavl
Пользователь №: 4,709
Спасибо сказали: 5

Вставить ник




Пытаюсь включить сайт в партнерскую программу для экспорта новостей, но стандартный rss.xml не подходит.

вот что пишет яша:

Кроме стандартных элементов RSS 2.0, для экспорта Данных используется
специальный элемент <yandex:full-text>, который должен содержать полный
текст сообщения. Этот элемент является обязательным. Полный текст
сообщения необходим для индексирования поисковым роботом и на Яндекс.ру
не размещается. В полном тексте не должны содержаться название источника
и дата/время сообщения, а также контактная информация и любая другая
информация, которая повторяется в каждом сообщении. Кроме того, просим
исключать из полного текста все тэги форматирования.

Файл должен полностью соответствовать примеру данному в описании. См.
"Технические требования" в разделе Документы в партнерском интерфейсе
(http://partner.news.yandex.ru ). Если эти требования будут аккуратно
выполнены, нам не придется много времени тратить на переписку и
повторную проверку.


Сами требования во вложении.

Помогите плз сделать файло.
Прикрепленные файлы
Прикрепленный файл  tech.pdf ( 69.23 Кб ) Кол-во загрузок: 9
 
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
yaroslav76
сообщение Mar 12 2009, 13:51
Сообщение #2


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 62
Регистрация:
16.7.2008
Из: Yaroslavl
Пользователь №: 4,709
Спасибо сказали: 5

Вставить ник




Уп, Ап, UP


Помогите плззззззз. В друпале и вордпрессе есть модуль такой... мож кто за деньгу что сделает? (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
TotoShka
сообщение Mar 15 2009, 21:01
Сообщение #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)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
yaroslav76
сообщение Mar 16 2009, 09:02
Сообщение #4


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 62
Регистрация:
16.7.2008
Из: Yaroslavl
Пользователь №: 4,709
Спасибо сказали: 5

Вставить ник




А чтот только заголовки выводит при обычном просмотре, там вроде полный текст новости надо? Или я туплю? (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
TotoShka
сообщение Mar 16 2009, 19:50
Сообщение #5


Юзверь
Иконка группы

Группа: Пользователи

Сообщений: 38
Регистрация:
16.1.2009
Из: 阿爾法人馬座
Пользователь №: 6,988
Спасибо сказали: 15

Вставить ник




полный текст не виден из-за того, что тег яндекса отсутствует в спецификации rss, поэтому его никаким агрегатором не увидишь(
решение:заходим на страницу фида браузером-смотрим исходник

fixed:проблему с кодировкой и тегами, теперь и ббкоды и хтмл режется нафиг(IMG:http://antislaed.net/style_emoticons/default/smile.gif)
как обновите-напишите, я сам заценю что там получается.
и кстати киньте в корень сайта файлик logo.gif, как в описании, фид и его выводит
Прикрепленные файлы
Прикрепленный файл  feed.rar ( 842 б ) Кол-во загрузок: 1
 
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
yaroslav76
сообщение Mar 17 2009, 11:45
Сообщение #6


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 62
Регистрация:
16.7.2008
Из: Yaroslavl
Пользователь №: 4,709
Спасибо сказали: 5

Вставить ник




всё нормально - единственное - :

В вашем экспортном файле исключите, пожалуйста, имена и фамилии авторов
сообщений из тегов <yandex:full-text>. Для имени и фамилии автора
сообщения необходимо формировать отдельный тег <author>.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
TotoShka
сообщение Mar 17 2009, 23:12
Сообщение #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[] = '&amp';
        $txt[] = '<';
        $sss[] = '&lt';
        $txt[] = '>';
        $sss[] = '&rt';
        $txt[] = '\'';
        $sss[] = '&apos';
        $txt[] = '"';
        $sss[] = '&quot';
        $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
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
yaroslav76
сообщение Mar 19 2009, 20:21
Сообщение #8


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 62
Регистрация:
16.7.2008
Из: Yaroslavl
Пользователь №: 4,709
Спасибо сказали: 5

Вставить ник




Всё в порядке, спасибо TotoShka!

Страна учтет при разливе (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
kavkaz
сообщение Sep 21 2009, 14:20
Сообщение #9


Я только смотрю...
Иконка группы

Группа: Пользователи

Сообщений: 7
Регистрация:
28.8.2008
Пользователь №: 5,238
Спасибо сказали: 0

Вставить ник




ЦИТАТА(TotoShka @ Mar 18 2009, 00:12 ) *
замените код на вот этот:
КОД
<?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[] = '&amp';
        $txt[] = '<';
        $sss[] = '&lt';
        $txt[] = '>';
        $sss[] = '&rt';
        $txt[] = '\'';
        $sss[] = '&apos';
        $txt[] = '"';
        $sss[] = '&quot';
        $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>';
?>


а вот из текста к сожалению придётся ручками убирать, ибо таких регеспов не придумтать никак((чтоб резало например Петров Иван. не выйдет так, оно тогда всё зарежет)



Помагите пожалуйста, отправил им этот рсс и они прислали ответ:
Согласно техническим требованиям, встречающиеся в тексте символы < > & '
" необходимо заменять на соответствующие элементы:
& на &amp;
< на &lt;

на &gt;

' на &apos;
" на &quot;
(здесь точка с запятой - это не разделитель данного списка, а
обязательная часть элемента!)
Замены должны производиться во всех элементах <item> и <channel> - в
<yandex:full-text>, <link>, <title>, <enclosure> и др.
Исправьте, пожалуйста, некорректные замены символов в Вашем экспортном
файле.

Тег <yandex:full-text> должен содержать полный текст сообщения, а у Вас
первые предложения исключены из него. Исправьте, пожалуйста, ситуацию
так, чтобы тег <yandex:full-text> содержал полный текст сообщения.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение

Ответить в данную темуНачать новую тему

2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
 

RSS Текстовая версия Сейчас: 14 June 2024 - 08:12
Хостинг предоставлен NetLevel.Ru   Eleanor CMS