Перейти к контенту

[2.3.x]Extended RSS Export module


Рекомендуемые сообщения

  • Ответы 60
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

  • 2 недели спустя...

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

 

if ( $row['rss_export_new_posts'] )
									{
											$this->ipsclass->DB->build_query( array( 'select' => 'p.*, t.tid, t.title as topic_title, t.starter_name as topic_starter_name, t.forum_id',
																					'from'  => 'posts p, '.$this->ipsclass->vars['sql_tbl_prefix'].'topics t',
																					'where' => 'p.topic_id = t.tid AND t.forum_id IN( '.$row['rss_export_forums'].' ) AND t.state != "link" AND t.approved=1',
																					'order' => 'p.pid desc',
																					'limit' => array(0, $row['rss_export_count'])
																			)	   );
									}

 

Сам запрос у меня получился такой:

 

select t.tid, t.title AS topic_title, t.starter_name AS topic_starter_name, t.forum_id,
(SELECT  p.post FROM ibf_posts p WHERE p.topic_id = t.tid ORDER by p.post_date DESC LIMIT 0, 1) post,
(SELECT  p.pid FROM ibf_posts p WHERE p.topic_id = t.tid ORDER by p.post_date DESC LIMIT 0, 1) pid  
FROM ibf_topics t WHERE t.forum_id IN('.$row['rss_export_forums'].' ) AND t.state != "link" AND t.approved=1
ORDER by t.last_post DESC limit 0, '.$row['rss_export_count'].'

 

Запрос прогнал в phpmyadmin - работает.

Но как его запихать в build_query я не знаю - по всякому пробовал, выскакивает ошибка. :D

Кто подскажет правильный синтаксис?

Ссылка на комментарий
Поделиться на других сайтах

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

Комментируем запрос и вставляем свой:

//--------------------------------------------
							// Build DB query
							//--------------------------------------------

							//Vic'er -> Extended RSS export {
								   if ( $row['rss_export_new_posts'] )
									{
										  /*   $this->ipsclass->DB->build_query( array( 'select' => 'p.*, t.tid, t.title as topic_title, t.starter_name as topic_starter_name, t.forum_id',
																					'from'  => 'posts p, '.$this->ipsclass->vars['sql_tbl_prefix'].'topics t',
																					'where' => 'p.topic_id = t.tid AND t.forum_id IN( '.$row['rss_export_forums'].' ) AND t.state != "link" AND t.approved=1',
																					'order' => 'p.pid desc',
																					'limit' => array(0, $row['rss_export_count'])
																			)	   ); */

									  $this->ipsclass->DB->allow_sub_select = 1;
									  $inner = $this->ipsclass->DB->query('select t.tid, t.title AS topic_title, t.starter_name AS topic_starter_name, t.forum_id,
									  (SELECT  p.post FROM ibf_posts p WHERE p.topic_id = t.tid ORDER by p.post_date DESC LIMIT 0, 1) post,
									  (SELECT  p.pid FROM ibf_posts p WHERE p.topic_id = t.tid ORDER by p.post_date DESC LIMIT 0, 1) pid,
									  (SELECT  p.post_date FROM ibf_posts p WHERE p.topic_id = t.tid ORDER by p.post_date DESC LIMIT 0, 1) post_date,
									  (SELECT  p.author_name FROM ibf_posts p WHERE p.topic_id = t.tid ORDER by p.post_date DESC LIMIT 0, 1) author_name
									  FROM ibf_topics t WHERE t.forum_id IN( '.$row['rss_export_forums'].' ) AND t.state != "link" AND t.approved=1 ORDER by t.last_post DESC limit 0, '.$row['rss_export_count'].'');

 

Находим и комментируем :

//--------------------------------------------
							// Exec Query
							//--------------------------------------------

						  //  $inner = $this->ipsclass->DB->exec_query();

 

Находим

'link'			 => $this->ipsclass->vars['board_url'].'/index.php?showtopic='.$topic['topic_id'].'&view=findpost&p='.$topic['pid'],

меняем на:

'link'			 => $this->ipsclass->vars['board_url'].'/index.php?showtopic='.$topic['tid'].'&view=findpost&p='.$topic['pid'],

 

З.Ы. Заметил, что rss-лента в IE7 отображается с именем пользователя после даты и времени поста, а в Мозилле Firefox нет.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
Все установилось отлично, но есть проблемы, при нажатии на значок RSS в адресной строке отображается лента все гут. Но при импорте, в моем случае Google Reader, лента пустая =( "has no items"

Аналогичная проблема. В IE, Opera, Firefox все работает отлично, но в программах для чтения rss (Google, FeedReader, ...) лента пустая. Причем можно просто обавлять ленту или добавлять ленту с именем пользователя и паролем от форума - не помогает.

Со стандартным экспортом rss - работало

Ссылка на комментарий
Поделиться на других сайтах

  • 10 месяцев спустя...

Что изменить чтобы в RSS потоке

Автор стоял перед постом

 

Мобильная связь -> Nokia N900 НИК Сегодня, 12:07 PM

Окей) что ты можешь противопоставить данному агрегату? Читать дальше…

 

Мобильная связь -> Nokia N900 Сегодня, 12:07 PM

НИК: Окей) что ты можешь противопоставить данному агрегату? Читать дальше…

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
  • 1 месяц спустя...
  • 2 недели спустя...
  • 3 месяца спустя...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.