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

Новости форума на главной 1.3


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

Вообще такое уже реализовано стандартно через ssi но уж очень тупо сделано.

Вообщем я просто решил сделать что-то похожее, но уже с разбивкой на страницы при большом числе новых тем с новостями. И чтобы новости сразу заносились в календарь конечно =)

Только вот столкнулся с такой проблемкой.

Вывожу новости через ssi.php, там в ssi у меня контроль показа новостей(из топика) на главной идет вот таким кодом:

...
$parser = new post_parser();

	$perpage = intval($ibforums->input['show']) > 0 ? intval($ibforums->input['show']) : 10;

	$perpage = ( $perpage > $max_show ) ? $max_show : $perpage;

	// Load the template...
...

а мне нужно чтобы можно было выводить не только 10 последних новостей, а и чтобы если из всего скажем 30, то чтобы они разбились на 3 страницы, 10 новостей на каждую. Как этого добиться?

 

 

 

 

 

Если непонятно объяснил, то вот полный код стандартного вывода новостей. Нужно чтобы новости на главной разбивались на страницы и выводили на каждую определенное кол-во новостей.

 

function do_news()
{
	global $DB, $ibforums, $root_path, $templates_dir, $std, $max_show;

	if ( (! $ibforums->vars['news_forum_id']) or ($ibforums->vars['news_forum_id'] == "" ) )
	{
			fatal_error("No news forum assigned");
	}

	require $root_path."sources/lib/post_parser.php";

	$parser = new post_parser();

	$perpage = intval($ibforums->input['show']) > 0 ? intval($ibforums->input['show']) : 10;

	$perpage = ( $perpage > $max_show ) ? $max_show : $perpage;

	// Load the template...

	$template = load_template("news.html");

	$to_echo = "";

	// Get the topics, member info and other stuff

	$DB->query("SELECT m.name as member_name, m.id as member_id,m.title as member_title, m.avatar, m.avatar_size, m.posts, t.*, p.*, g.g_dohtml, f.use_html
				FROM ibf_topics t
						LEFT JOIN ibf_posts p ON (p.new_topic=1 AND p.topic_id=t.tid)
						LEFT JOIN ibf_members m ON (m.id=t.starter_id)
						LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup)
						LEFT JOIN ibf_forums f ON (t.forum_id=f.id)
						WHERE t.forum_id={$ibforums->vars['news_forum_id']} AND t.approved=1 ORDER BY t.tid DESC LIMIT 0, $perpage");

	if ( ! $DB->get_num_rows() )
	{
			fatal_error("Could not get the information from the database");
	}

	while ( $row = $DB->fetch_row() )
	{
			$row['post'] = str_replace( '<br>', '<br />', $row['post'] );
			$rt = $row['title'];
$ttt = strlen($rt);
$t1=$ttt+10;
$t2= (90 - $t1);

			$to_echo .= parse_template( $template,
																array (
																				 'profile_link'   => $ibforums->base_url."?act=Profile&CODE=03&MID=".$row['member_id'],
																				 'member_name'	=> $row['member_name'],
																				 'post_date'	  => $std->get_date( $row['start_date'], 'LONG' ),
																				 'topic_title'	=> $row['title'],
																				 'post'		   => $parser->post_db_parse($row['post'], ($row['use_html'] AND $row['g_dohtml']) ? 1 : 0 ),
																				 'comments'	   => $row['posts'],
																				 't1'			 => $t1,
																				 't2'			=>$t2,
																				 'view_all_link'  => $ibforums->base_url."?act=ST&f={$row['forum_id']}&t={$row['tid']}"
																		  )
																);
	}

	echo $to_echo;

	exit();

}

Вот собственно и первый трабл.

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

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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