изменение вывода новостей

Статус
В этой теме нельзя размещать новые ответы.

zascia

Писатель
Регистрация
13 Авг 2008
Сообщения
3
Реакции
0
Приветствую всех!
У меня SS Free, хочу его немного переделать, в частности, сделать вывод списка кратких новостей и статей на главной странице, как тут Для просмотра ссылки Войди или Зарегистрируйся

Из шаблона node_brief в отдельный мною созданный шаблон news_last перенес переменные, указал

PHP:
{section name=i loop=$node_to_show max=$node_to_show_count}
{assign var = "node_info" value = $node_to_show[i]}
...

Список новостей стал выводиться в правой колонке, но только при клике на пункт меню "новости", а мне нужно, чтобы это было постоянно. Как это можно реализовать?
 
а если содержимое news_last закинуть index? :)
 
В index.php дописал


PHP:
//news last
	$result = array();
	$sf = array();
	$q = db_query("SELECT count(*) FROM ".NODE_TABLE." WHERE class='2' AND enabled=1") or die (db_error());
	$n_count = db_fetch_row($q);
	$n_count = $n_count[0];

	if ($n_count) { // есть записи
		if ($offset > $n_count) $offset=0;
		$q = db_query("SELECT nodeID FROM ".NODE_TABLE." WHERE class='2' AND enabled=1 order by date desc") or die (db_error());

		$result = array();
		$i=0;

		while ($row = db_fetch_row($q)){
			if (isset($_GET["show_all"]) || ($i>=$offset && $i<$offset+CONF_NODE_PER_PAGE)){
				$q1 = db_query("select nodeID, date, title, node from ".NODE_TABLE." where nodeID='$row[0]'") or die (db_error());
				$row1 = db_fetch_row($q1);
				$row1[3] = _filter_url(node_teaser($row1[3]));
				$result[] = $row1;
			}
			$i++;
		}
	}
	$smarty->assign("news_last",$result);

	if (!isset($_GET["show_all"])){
		$min = CONF_NODE_PER_PAGE;
		if ($min > $n_count-$offset) $min = $n_count-$offset;
	}	else {
		$min = $n_count;
		$offset = "show_all";
	}

	$smarty->assign("news_to_show", $result);
	$smarty->assign("news_to_show_count", $min);


Создал шаблон , где прописал

PHP:
{section name=i loop=$news_to_show max=$news_to_show_count}
		{assign var = "node_info" value = $news_to_show[i]}

		<div class="news">
			<p class="info">
				<span class="time">14:55</span> <span class="calendar">{$node_info[1]|date_format:"%d.%m.%Y"}</span> <span class="views">1240</span> <span class="comments">14</span>
			</p>
			<div class="foto">
				<a href="index.php?nodeID={$node_info[0]}" title=""><img src="./img/news_pic.jpg" alt="" /></a>
			</div>
			<div class="text_block">
				<p>{$node_info[3]}</p>
			</div>
			<div class="clear_left"></div>
			<div class="right_href">
				<a href="index.php?nodeID={$node_info[0]}" title=""><img src="./img/bg/href_bg.jpg" /></a>
			</div>
		</div>
	{/section}

Понимаю, что конструкция громоздкая и, возможно, содержит в себе много лишнего, но она работает.
Есть вопрос: можно ли этот ПХП код вынести в отдельную функцию с тем же именем, и можно ли ее немного подсократить?

Еще непонятно: где найти модуль логин-пароль регистрации? Он существует в бесплатной версии?

Извините, если вопросы покажутся дикими, до этого у меня не было опыта в программировании (
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху