Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#26 2009-11-18 17:38:17

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: rss_export :: Экспорт новостей в формате RSS

Посмотрел в код,.. оказалось, что исправить только код плагина недостаточно - потребуется небольшой патч самого двига.

Опиши тогда детально задачу: что, куда, для чего и так далее... возможно, будет смысл сделать правильный плагин экспорта данных с учётом массы других требований...

Не в сети

#27 2009-11-18 17:45:11

vairus
Участник
Зарегистрирован: 2008-10-13
Сообщений: 120
Рейтинг :   

Re: rss_export :: Экспорт новостей в формате RSS

vitaly, я надеялся, что все гораздо проще будет.

задача, в том что необходимо новое поле <fulltext>в котором будет выводиться информация с коротким и полным содержанием новости.</fulltext>
а при этом в поле <description>будет анонс, он же короткие новости. (либо обрезанные полные новости на N-симовлов)</description>

все остальные поля менять нет необходимости.

Изменено vairus (2009-11-18 17:46:04)

Не в сети

#28 2009-11-19 15:16:18

vairus
Участник
Зарегистрирован: 2008-10-13
Сообщений: 120
Рейтинг :   

Re: rss_export :: Экспорт новостей в формате RSS

vitaly, сразу признаюсь в php я ноль, все методом проб и ошибок пробовал. в общем сделал так: изменил код в rss_export.php

было

foreach ($mysql->select($query." limit $limit") as $row) {
	        // Make standart system call in 'export' mode
	        $export_mode = 'export_body';

		switch (extra_get_param('rss_export','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_export' ));

		print "  <item>\n";
		print "   <title><![CDATA[".((extra_get_param('rss_export','news_title') == 1)&&GetCategories($row['catid'],true)?GetCategories($row['catid'], true).' :: ':'').secure_html($row['title'])."]]></title>\n";
		print "   <link><![CDATA[".GetLink('full', $row)."]]></link>\n";
		print "   <description><![CDATA[".$content."]]></description>\n";
		print "   <category>".GetCategories($row['catid'], true)."</category>\n";
		print "   <guid isPermaLink=\"false\">".home."?id=".$row['id']."</guid>\n";
		print "   <pubDate>".strftime('%a, %d %b %Y %H:%M:%S GMT',$row['postdate'])."</pubDate>\n";
		print "  </item>\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_export','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_export' ));
    	$contentz = news_showone($row['id'], '', array( 'emulate' => $row, 'style' => $export_modez, 'plugin' => 'rss_export' ));
		print "  <item>\n";
		print "   <title><![CDATA[".((extra_get_param('rss_export','news_title') == 1)&&GetCategories($row['catid'],true)?GetCategories($row['catid'], true).' :: ':'').secure_html($row['title'])."]]></title>\n";
		print "   <link><![CDATA[".GetLink('full', $row)."]]></link>\n";
		print "   <description><![CDATA[".$content."]]></description>\n";
	print "   <fulltext><![CDATA[".$contentz."]]></fulltext>\n";
		print "   <category>".GetCategories($row['catid'], true)."</category>\n";
		print "   <guid isPermaLink=\"false\">".home."?id=".$row['id']."</guid>\n";
		print "   <pubDate>".strftime('%a, %d %b %Y %H:%M:%S GMT',$row['postdate'])."</pubDate>\n";
		print "  </item>\n";
	}

в конфиге указал вывод только короткой новости, и задача решилась. Не знаю что "натворил", но все работает. Логично так делать? (в плане не будет это давать непонятные глюки или нагрузки)

Изменено vairus (2009-11-19 15:19:04)

Не в сети

#29 2009-11-20 02:24:20

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: rss_export :: Экспорт новостей в формате RSS

vairus, такой подход немного увеличит нагрузку, но позволит действительно не менять код ядра.
Это вполне адекватное решение для твоей конкретной узкой задачи.

Но всё-таки расскажи - что ты с этим собираешься делать дальше? smile

Не в сети

#30 2009-11-20 11:17:06

vairus
Участник
Зарегистрирован: 2008-10-13
Сообщений: 120
Рейтинг :   

Re: rss_export :: Экспорт новостей в формате RSS

ответил в ЛС

Не в сети

#31 2010-03-14 19:15:47

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

vitaly или Amarelius, доработайте один момент плз, вывод текста из more, если идет экспорт только короткой новости. Я уже давно про это писал, что так будет удобней в ридере, сразу можно понять состоит ли новость только из краткого текста и я ее уже прочел сразу в ридере или есть еще полный текст и надо переходить еще и на сайт.

Я посмотрел плагин, он получает контент через news_showone из news.php, а в этой функции в свою очередь вызывается newsFillVariables из function.inc.php. Не хотелось бы держать такой грязный хак, можно ли засунуть это в движок? smile

Не в сети

#32 2010-03-14 21:16:10

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Wolverine, держи, только проверь, я если честно этим плагином никогда не пользовался.


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#33 2010-03-14 21:21:15

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Amarelius, у тебя жесткий вывод "Узнать больше", а нужно чтобы текст, если он прописан, брался и из тега<!--more="Господа, читаем дальше и удивляемся"--> smile

Не в сети

#34 2010-03-14 21:31:28

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Wolverine, можно, через пару часиков добавлю, сейчас просто немного занят...


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#35 2010-03-14 21:35:10

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Да мне не срочно, просто вспомнил что-то сегодня про эту проблему, поправил файлы движка, но как-то не круто это, не люблю потом отслеживать хаки при обновлении движка smile

Не в сети

#36 2010-03-15 00:06:43

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Обновил. Теперь выводится текст для more, если он есть, иначе текст по умолчанию из языкового файла.
Регистрация фильтра новостей происходит только при переходе на страницу плагина, таким образом исключается срабатывание данного фильтра для других плагинов. При желании можно добавить это все в настройки конфигурации.
-----------------------------
p.s.: Если Виталий (как автор плагина) одобрит, то изменения можно будет внести в официальную версию плагина.


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#37 2010-03-15 00:30:16

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

gracias! smile Работает как надо.

Все забываю про regx, да и пока писать их толком не научился))

Не в сети

#38 2010-04-13 14:50:57

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: rss_export :: Экспорт новостей в формате RSS

Вопрос такой, пришло письмо от партнера который транслирует мои новомти с рсс ленти

У нас появилась новая возможность - отдельно транслировать Ваши
видеоматериалы. В связи с этим, просим Вас внести небольшие изменения в
Ваш рРСС-канал: http://footballtransfer.com.ua/rss.xml.

В частности, для новостей, которые содержат видеоролики, нужно
передавать элемент enclosure с новым атрибутом video="true".

Пример:
<enclosure
url="http://nashi-novosti.ua/img/tv_profilaktika-278x1861.jpg"
length="123456789" type="image/jpeg" video="true" />
Где атрибут  video="true" указывает, что данная новость содержит видео.
В атрибуте url="" указываться ссылка на картинку (скриншот видео).

Прошу Вас внести немного корректив в Вашу РСС-ленту:
http://footballtransfer.com.ua/rss.xml.

Поскольку Вы передаете новости с фоторепортажами, прошу Вас,
если в передаваемой Вами новости присутствует фоторепортаж, то желательно,
чтобы в тегах энклоуже Вы передавали (прикрепляли к новости) все
фотографии данного фоторепортажа.

что можно поправить в ленте чтобы им подошло?

Не в сети

#39 2010-04-13 16:50:53

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: rss_export :: Экспорт новостей в формате RSS

legenda, тебе ничего сделать нельзя smile
Если будешь прикладывать файлы к новостям (именно загружать в саму новость), то решение возможно, и, скорее всего, будет реализовано как только появятся сайты в которых владельцы будут пользоваться этой возможностью.

Не в сети

#40 2010-04-13 20:17:09

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: rss_export :: Экспорт новостей в формате RSS

vitaly, чтото не понял, имееш ввиду что сделать то что они просят невозможно?

Не в сети

#41 2010-09-20 22:00:38

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Возможно ли через плагин отключать вывод в ленте новостей из "закрытой" категории?

Не в сети

#42 2010-09-20 23:10:33

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Как видишь - нет smile

Не в сети

#43 2010-09-21 09:55:06

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Не в сети

#44 2010-09-23 00:12:07

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: rss_export :: Экспорт новостей в формате RSS

вопрос такой, нужно в ленту рсс вставить логотип, тоесть обязательным элемент должен бить <image>, который должен содержать ссылку на графический файл с изображением логотипа издания. Эта ссылка дается во вложенном элементе <url>, название (будет написано в html-атрибуте alt) – в <title> (необходимо еще раз повторить название издания), URL издания – в <link>. Логотип должен быть в формате .gif, без анимации. Размер логотипа – 100 пикселей по максимальной стороне.

Должно вилдятить типа так

<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0"
xmlns="http://backend.userland.com/rss2"
xmlns:yandex="http://news.yandex.ru">
	<channel>
		<title>Российские новости</title>
		<link>http://www.rossiyskie-novosti.ru/</link>
		<description>Ежедневная иллюстрированная московская общественно-политическая газета.</description>
		<image>
			<url>http://www.rossiyskie-novosti.ru/logo.gif</url>
			<title>Российские новости</title>
			<link>http://www.rossiyskie-novosti.ru/</link>
		</image>
		<item>
			<title>Яндекс ищет на президентском сайте</title>
			<link>http://www.rossiyskie-novosti.ru/2003/03/25/yandex.html</link>
<pdalink> http://pda.rossiyskie-novosti.ru/2003/03/25/yandex.html</pdalink>
			<description>Программный продукт Яndex.Site установлен на официальном сайте президента России</description>
			<author>Иван Петров</author>
			<category>Технологии</category>
			<enclosure url="http://www.rossiyskie-novosti.ru/2003/03/25/yandex.jpg" type="image/jpeg"/>
			<enclosure url="http://www.rossiyskie-novosti.ru/2003/03/25/yandex1.jpg" type="image/jpeg"/>
			<enclosure url=" http://www.rossiyskie-novosti.ru/video/100237" type="video/x-ms-asf"/>
			<pubDate>Sun, 29 Sep 2002 19:59:01 +0400</pubDate>
			<yandex:genre>message</yandex:genre>
			<yandex:full-text>Для поиска по сайту www.kremlin.ru выбрана программа Яndex.Site. Этот программный продукт был исследован провайдером президентского сайта - Федеральным агентством правительственной связи и информации. ФАПСИ сочло возможным использование поисковой системы <Яндекса> на www.kremlin.ru. По результатам исследования программа была скомпилирована, протестирована и установлена на сайт. <Мы надеемся, - говорит руководитель пресс-службы Президента России Наталья Тимакова, - что хороший поиск поможет людям лучше ориентироваться на президентском сайте и получать исчерпывающую информацию>. Яndex.Site является частью пакета программных продуктов, предназначенного для поиска информации по одному или нескольким веб-сайтам, локального поиска или поиска в корпоративных сетях и базах данных. Он основан на тех же технологиях, что используются в поиске www.yandex.ru, и учитывает морфологию русского и многих других языков. Помимо Яndex.Site, компания <Яндекс> поставляет Яndex.CD - для поиска в коллекциях документов, издаваемых на CD ROM, и Яndex.Lib, предоставляющий низкоуровневые средства для встраивания поиска в любые другие программы.
			</yandex:full-text>
			<yandex:related>
				<link url="http://www.kremlin.ru/">Президент России</link>
			</yandex:related>
		</item>
	</channel>
</rss>

вопрос - как добавить

<image>
			<url>http://www.rossiyskie-novosti.ru/logo.gif</url>
			<title>Российские новости</title>
			<link>http://www.rossiyskie-novosti.ru/</link>
		</image>

в ленту
?

Изменено legenda (2010-09-23 00:14:51)

Не в сети

#45 2010-09-23 00:47:33

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Открываешь

rss_export.php

Находишь

$line.= "  <generator><![CDATA[Plugin RSS_EXPORT (0.07) // Next Generation CMS (".engineVersion.")]]></generator>\n";

После этой строчки добавляешь

$line.= "  <image>\n<url>http://www.rossiyskie-novosti.ru/logo.gif</url>\n<title>Российские новости</title>\n<link>http://www.rossiyskie-novosti.ru/</link>\n</image>\n";

Не в сети

#46 2010-09-23 00:59:38

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: rss_export :: Экспорт новостей в формате RSS

Wolverine, большое спасибо!

Не в сети

#47 2010-09-23 21:58:55

mc_klauss
Участник
Откуда Ulsk, RU
Зарегистрирован: 2009-11-20
Сообщений: 43
Рейтинг :   
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Друзья, подскажите пожалуйста "грязный хак" smile Если в плагине выбран режим экспорта "Только короткая" требуется добавить после самого текста анонса прямую ссылку на полную версию поста.
Т.е. на сайте:
краткая новость <more> полная новость
а в rss ленте
краткая новость <прямая ссылка на полный текст записи>С нужным статичным анкором</>
Для чего требуется: с сайта работает кросспостинг анонсов на разные блог-платформы. Необходимо чтобы после анонса публиковалась прямая ссылка на оригинальную запись.
Заранее благодарю.

Не в сети

#48 2010-09-23 23:07:59

Trashcka
Участник
Откуда КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: rss_export :: Экспорт новостей в формате RSS

mc_klauss, так ссылка и так же идет на полную новость, или ты о чем?

Не в сети

#49 2010-09-23 23:16:23

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Найди

if (!defined('NGCMS')) die ('HAL');

После добавь

class rss_exportNewsFilter extends NewsFilter {

	function showNews($newsID, $SQLnews, &$tvars, $mode = array()){ 
		$tvars['vars']['short-story'] .= '<br /><br /><a href="'.$tvars['vars']['news_link'].'">Нужный статичный анкор</a>';
		return 1; 
	}
}

Найди

global $template, $config, $SUPRESS_TEMPLATE_SHOW, $SUPRESS_MAINBLOCK_SHOW, $mysql, $catz;

После добавь

register_filter('news','rss_export', new rss_exportNewsFilter);

Не в сети

#50 2010-09-23 23:52:36

mc_klauss
Участник
Откуда Ulsk, RU
Зарегистрирован: 2009-11-20
Сообщений: 43
Рейтинг :   
Сайт

Re: rss_export :: Экспорт новостей в формате RSS

Trashcka пишет:

mc_klauss, так ссылка и так же идет на полную новость, или ты о чем?

Идет, только после импорта рсски на блог-платформы а-ля Дайри.ру  Я.ру и т.д. ссылки на оригинальный пост с редиректами и прочими. _http://stolbicom.ya.ru как здесь например

Wolverine, спасибо, вроде как работает.

Изменено mc_klauss (2010-09-23 23:53:27)

Не в сети

Подвал раздела

Работает на FluxBB