Перейти к публикации

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

как сделать чтоб при выводе новостей используя custom выводилось (4 например) предпоследних новости из категории (form=4 тег работает), а последняя выводилась в виде короткой новости?

 if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}


	$i = 0;

	if (isset ($cstart)) $i = $cstart;

	$news_found = FALSE;

	$xfields = xfieldsload();


	$tpl->load_template($custom_template.'.tpl');	


	$sql_result = $db->query($sql_select);


	while($row = $db->get_row($sql_result)){


	$news_found = TRUE;

	$attachments[] = $row['id'];

	$row['date'] = strtotime($row['date']);


	if (empty($row['alt_name'])) $row['alt_name'] = totranslit ($row['title']);

	$i++;


		if (!$row['category']) { $my_cat = "---"; $my_cat_link = "---";} else {


		$my_cat = array (); $my_cat_link = array ();

		$cat_list = explode (',', $row['category']);


			foreach ($cat_list as $element) {

				if ($element) { $my_cat[] = $cat_info[$element]['name'];

						if ($config['allow_alt_url'] == "yes")

								$my_cat_link[] = "<a href=\"".$config['http_home_url']."category/{$cat_info[$element]['alt_name']}/\">{$cat_info[$element]['name']}</a>";

						else

								$my_cat_link[] = "<a href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";

				}

			}

		$my_cat = stripslashes(implode (', ', $my_cat));

		$my_cat_link = stripslashes(implode (', ', $my_cat_link));

		}


		$row['category'] = intval ($row['category']);


		$news_find = array(

		 '{date}'				=> langdate($config['timestamp_active'], $row['date']),

		 '{comments-num}'		=> $row['comm_num'],

		 '{views}'				=> $row['news_read'],

		 '{category}'			=> $my_cat,

		 '{link-category}'		=> $my_cat_link,

		 '{category-icon}'		=> $cat_info[$row['category']]['icon'],

		 '{news-id}'			=> $row['id'],

		 '{php-self}'			=> $PHP_SELF,

		 '{PAGEBREAK}'			=> '',

		 '{rssdate}'			=> date("r", $row['date']),

		 '{rssauthor}'			=> $row['autor'],

			 );


		$tpl->set('',  $news_find);


	if ($row['allow_rate'])

		$tpl->set('{rating}',ShortRating ($row['rating'], $row['vote_num']));

	else 

		$tpl->set('{rating}',"");




	if ($config['allow_alt_url'] == "yes")

			$tpl->set('{author}', "<a href=\"".$config['http_home_url']."user/".urlencode($row['autor'])."/\">".$row['autor']."</a>");

	else

			$tpl->set('{author}', "<a href=\"$PHP_SELF?subaction=userinfo&user=".urlencode($row['autor'])."\">".$row['autor']."</a>");



	if ($is_logged AND (($member_id['name'] == $row['autor'] AND $user_group[$member_id['user_group']]['allow_edit']) OR $user_group[$member_id['user_group']]['allow_all_edit'])){

		$tpl->set('[edit]',"<a href=\"".$config['http_home_url']."admin.php?mod=editnews&action=editnews&id=".$row['id']."\" target=\"_blank\">");

		$tpl->set('[/edit]',"</a>");

		}

	else $tpl->set_block("'\\[edit\\](.*?)\\[/edit\\]'si","");


	if ((strlen($row['full_story']) < 10) and $config['hide_full_link'] == "yes")

		$tpl->set_block("'\\[full-link\\](.*?)\\[/full-link\\]'si","");

	else {

	if ($config['allow_alt_url'] == "yes")

		$tpl->set('[full-link]',"<a href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html\">");

	else 

		$tpl->set('[full-link]',"<a href=\"$PHP_SELF?newsid=".$row['id']."\">");

		$tpl->set('[/full-link]',"</a>");}



	if ($row['allow_comm']) {

	if ($config['allow_alt_url'] == "yes")

		$tpl->set('[com-link]',"<a href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html#comment\">");

	else 

		$tpl->set('[com-link]',"<a href=\"$PHP_SELF?newsid=".$row['id']."#comment\">");

		$tpl->set('[/com-link]',"</a>");

		}

		else $tpl->set_block("'\\[com-link\\](.*?)\\[/com-link\\]'si","");


		if ( stristr( $tpl->copy_template, "[group=" ) ) {

			$tpl->copy_template = preg_replace( "#\\[group=(.+?)\\](.*?)\\[/group\\]#ies","check_group('\\1', '\\2')", $tpl->copy_template);

		}


	if ( stristr( $tpl->copy_template, "[category=" ) ) {

		$tpl->copy_template = preg_replace( "#\\[category=(.+?)\\](.*?)\\[/category\\]#ies","check_category('\\1', '\\2', '{$category_id}')", $tpl->copy_template);

	}


	if ($is_logged){


		if (!strstr ($member_id['favorites'], $row['id']) OR $config['allow_cache'] == "yes")

			$tpl->set('{favorites}',"<a href=\"$PHP_SELF?do=favorites&doaction=add&id=".$row['id']."\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/plus_fav.gif\" title=\"".$lang['news_addfav']."\" align=\"absmiddle\" border=\"0\"></a>");

		else

			$tpl->set('{favorites}',"<a href=\"$PHP_SELF?do=favorites&doaction=del&id=".$row['id']."\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/minus_fav.gif\" title=\"".$lang['news_minfav']."\" align=\"absmiddle\" border=\"0\"></a>");


	} else $tpl->set('{favorites}',"");


	// Обработка дополнительных полей

	$xfieldsdata = xfieldsdataload ($row['xfields']);


	foreach ($xfields as $value) {

	  $preg_safe_name = preg_quote($value[0], "'");


	  if ($value[5] != 0) {

		if (empty($xfieldsdata[$value[0]])) {

		  $tpl->copy_template = preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template);

		} else {

		  $tpl->copy_template = preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "\\1", $tpl->copy_template);

		}

	  }

	  $tpl->copy_template = preg_replace("'\\[xfvalue_{$preg_safe_name}\\]'i", stripslashes($xfieldsdata[$value[0]]), $tpl->copy_template);

	}

	// Обработка дополнительных полей


	$tpl->set('{title}', stripslashes($row['title']));

	$tpl->set('{short-story}', stripslashes($row['short_story']));


	if ($user_group[$member_id['user_group']]['allow_hide'])	$tpl->set_block("'\[hide\](.*?)\[/hide\]'si","\\1");

	else $tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">".$lang['news_regus']."</div>");



		$tpl->compile('content');

		}


	$tpl->clear();

	$db->free($sql_result);

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

cernos раз знаешь как сделать пиши токо не повторне использование custom с разными настройками так будет больше запросов!

Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...
  • 3 недели спустя...

у меня почему-то два "костома" на одной страничке не работают... В обоих - один и тот же результат обращения к базе данных первого "костома"...

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

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

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

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

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

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

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