Вы не зашли.
vitaly пишет:vl, только если руками подправить плагин rss_export.
Это да. Только я вот не смог отыскать тот запрос, в который можно было бы вписать номера категорий
Вроде тут
if (is_array($xcat)) { $orderBy = ($xcat['orderby'] && in_array($xcat['orderby'], array('id desc', 'id asc', 'postdate desc', 'postdate asc', 'title desc', 'title asc')))?$xcat['orderby']:'id desc'; $query = "select * from ".prefix."_news where catid regexp '[[:<:]](".$xcat['id'].")[[:>:]]' and approve=1 order by ".$orderBy; } else { $query = "select * from ".prefix."_news where approve=1 order by id desc"; }
Уважаемый Wolverine, или может, кто-то еще в курсе, подскажите пожалуйста, что именно тут поправить, чтобы в rss не попадали новости из определенной категории (например, из категории с ID = 8)?
Заранее спасибо!
Не в сети
Не в сети
Подскажите, как сделать следующее:
На сайте не разделяются статьи на полную/короткую. Нужно отдавать в rss ленту небольшой отрезок статьи (150-200 символов) и под этим анонсом активную ссылку на статью. Т.е. плагин должен сам обрезать статью, отдаваемую в rss ленту. Реально ли проапгрейдить плагин этот?
Предлагать разделять статьи на полную и короткую - не нужно, потому что нет желания испытывать неудобства при добавлении 100 новостей ежедневно.
Не в сети
все в полную, походу.
Не в сети
GRADUSnick, в версии 0.16 плагина rss_export есть параметр "Обрезать выводимую информацию".
Он-то тебе и нужен - прописываешь там цифру 200 и получаешь обрезание статей до 200 символов.
Активной ссылки с текстом "далее" он не даст, но каждая запись RSS потока и так сопровождается ссылкой.
При желании - можно чуть-чуть допилить rss_export чтобы он выводил эту ссылку.
Не в сети
в версии 0.16 плагина rss_export есть параметр "Обрезать выводимую информацию".
О, блин. Хорошо то как.
Не знал даже. В начале темы не обновлённая инфа.
При желании - можно чуть-чуть допилить rss_export чтобы он выводил эту ссылку.
ну да, это уже проще.
Спасибо огромное.
Не в сети
Как добавить тег?
<yandex:full-text> Полная новость </yandex:full-text>
Чтобы было:
<item>
<title><![CDATA[заглавие новости]]></title>
<link><![CDATA[УРЛ новости]]></link>
<description><![CDATA[краткое содержание новости (если в админке Вид отображения новости – только короткая) ]]></description>
<category>Категория новости</category>
<pubDate>Дата публикации </pubDate>
[b]<yandex:full-text> Полная новость </yandex:full-text>[/b]
</item>
Не в сети
vl, ты хочешь сделать единый поток RSS для сайта и добавить туда yandex:full-text?
А обычный RSS ридеры на нём не будут спотыкаться после этого?
Этот поток предназначен для Ukr.net. На Украине это самый посещаемый сайт и от него поступило предложение публиковать региональные новости с моего сайта. Их требования к источнику RSS в прикрепленном файле. Все перечисленные обязательные поля я как-бы подстроил.
В тег description я буду добавлять короткую новость. Осталось - в то же время в тег yandex:full-text отдавать ПолнУю новость
А обычными RSS ридерами можно в этом случае и пожертвовать
Не в сети
vl, как-то оно по описанию на поток для Яндекса смахивает.
Не знаешь, там один и тот же формат или нет?
Если один и тот же, то проще будет сделать отдельный плагин на базе RSS export специально для Яндекса/Ukr.net и не трогать базовый RSS поток.
Не в сети
Вот требования к RSS для Яндекса, опубликованные на странице http://help.yandex.ru/news/?id=1111165
Изменено vl (2013-05-10 08:40:56)
Не в сети
vl, вариант для яндекса/укрнет выложены мною уже давно, надо чуть его изменить если используеш СВН версию, более того это простая рсс останется для всех пользователей такая как и была, тоесть у тебя будут две ленты
vitaly, было б неплохо сделать по этой аналогии другую рсс
Изменено legenda (2013-05-11 19:47:23)
Не в сети
legenda, плагин работает отлично. Но в тегах description и yandex:full-text он отображает один и тот же текст, - или короткой или полной новости или обеих новостей, в зависимости от того, как в админке выбран "Вид отображения новости"
А нужно, чтобы в теге description выводилась короткая новость, а в теге yandex:full-text - полная
11. <description> - аннотация сообщения.</description>
a. Обязательный элемент
b. В дескрипшене описывается краткое содержание новости 3-4 предложения.
c. Если в дескрипшене присутствуют спецсимволы в явном виде, нужно использовать <![CDATA[ ТЕКСТ ]]>.
16. <yandex:full-text> Полнотекст новости без HTML кода и спецсимволов </yandex:full-text>
a. Обязательное поле.
b. Содержит полный текст новости.
c. Если в полнотексте присутствуют спецсимволы в явном виде, нужно использовать <![CDATA[ ТЕКСТ ]]>.
d. Абзацы а полнотексте определяются пустой строчкой смотреть «Good_RSS_minimal.xml».
Изменено vl (2013-05-11 20:45:17)
Не в сети
vl, <description> они вапше не читают так что неважно что там будет полная или не полная новость (это только для пользователей которые смотрят твое рсс в браузере, но в даном случае такое не предусмотрено, более того я б сказал даже это очень неуместно такую ленту светить пользователям)
для них (яндекс/укрнет) главное <yandex:full-text>
Изменено legenda (2013-05-12 03:01:29)
Не в сети
Решил задачу - чтобы в теге description выводилась короткая новость, а в теге yandex:full-text - полная, заменив в плагине от legenda http://ngcms.ru/forum/viewtopic.php?pid=18003#p18003
foreach ($mysql->select($query." limit $limit") as $row) {
// Make standart system call in 'export' mode
$export_mode = 'export_body';
switch (extra_get_param('rss_yandex','content_show')) {
case '1': $export_mode = 'export_short'; break;
case '2': $export_mode = 'export_full'; break;
}
$content = news_showone($row['id'], '', array( 'emulate' => $row, 'style' => $export_mode, 'plugin' => 'rss_yandex' ));
$enclosure = '';
// Check if Enclosure `xfields` integration is activated
if (extra_get_param('rss_yandex', 'xfEnclosureEnabled') && (true || getPluginStatusActive('xfields'))) {
// Load (if needed XFIELDS plugin
include_once(root."/plugins/xfields/xfields.php");
if (is_array($xfd = xf_decode($row['xfields'])) && isset($xfd[extra_get_param('rss_yandex','xfEnclosure')])) {
$enclosure = $xfd[extra_get_param('rss_yandex','xfEnclosure')];
}
}
$output .= " <item>\n";
$output .= " <title><![CDATA[".((extra_get_param('rss_yandex','news_title') == 1)&&GetCategories($row['catid'],true)?GetCategories($row['catid'], true).' :: ':'').secure_html($row['title'])."]]></title>\n";
$output .= " <link><![CDATA[".$config['home_url'].newsGenerateLink($row)."]]></link>\n";
$output .= " <description><![CDATA[".strip_tags($content)."]]></description>\n";
$output .= " <yandex:full-text><![CDATA[".strip_tags($content)."]]></yandex:full-text>\n";
на следующий код
foreach ($mysql->select($query." limit $limit") as $row) {
// Make standart system call in 'export' mode
$export_modez = 'export_body';
switch (extra_get_param('rss_yandex','content_show')) {
case '1': $export_mode = 'export_short'; break;
case '2': $export_mode = 'export_full'; break;
}
$content = news_showone($row['id'], '', array( 'emulate' => $row, 'style' => $export_mode, 'plugin' => 'rss_yandex' ));
$contentz = news_showone($row['id'], '', array( 'emulate' => $row, 'style' => $export_modez, 'plugin' => 'rss_yandex' ));
$enclosure = '';
// Check if Enclosure `xfields` integration is activated
if (extra_get_param('rss_yandex', 'xfEnclosureEnabled') && (true || getPluginStatusActive('xfields'))) {
// Load (if needed XFIELDS plugin
include_once(root."/plugins/xfields/xfields.php");
if (is_array($xfd = xf_decode($row['xfields'])) && isset($xfd[extra_get_param('rss_yandex','xfEnclosure')])) {
$enclosure = $xfd[extra_get_param('rss_yandex','xfEnclosure')];
}
}
$output .= " <item>\n";
$output .= " <title><![CDATA[".((extra_get_param('rss_yandex','news_title') == 1)&&GetCategories($row['catid'],true)?GetCategories($row['catid'], true).' :: ':'').secure_html($row['title'])."]]></title>\n";
$output .= " <link><![CDATA[".$config['home_url'].newsGenerateLink($row)."]]></link>\n";
$output .= " <description><![CDATA[".strip_tags($content)."]]></description>\n";
$output .= " <yandex:full-text><![CDATA[".strip_tags($contentz)."]]></yandex:full-text>\n";
Надо бы этот плагин для экспорта RSS на yandex.ru/ukr.net разместить в соответствующем разделе
Изменено vl (2013-05-14 23:41:09)
Не в сети
Создан отдельный плагин rss_yandex для экспорта потока новостей в Яndex/UKR.net
Работать будет только на SVN 1130+
Просьба потестить всем заинтересованным.
Не в сети