Блок "Категории" и маленький вопрос =)

ra
raydon
Поблагодарили: 1 раз
Сообщения: 61
Зарегистрирован: 19 сен 2009, 18:43
Сообщение

Блок "Категории" и маленький вопрос =)

10 ноя 2009, 15:33

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

И пользуясь случаем хотел бы спросить, в админке вроде была функция отображения блоков на всех страницах форума, или я ошибаюсь?
подскажите пожалуйста как сделать, чтобы форум отображался в центре, как "Новинки трекера" (в этом же месте).
Go
Gorlum
Сообщения: 100
Зарегистрирован: 23 июн 2009, 16:11
Сообщение

Re: Блок "Категории" и маленький вопрос =)

18 ноя 2009, 15:00

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

И пользуясь случаем хотел бы спросить, в админке вроде была функция отображения блоков на всех страницах форума, или я ошибаюсь?
подскажите пожалуйста как сделать, чтобы форум отображался в центре, как "Новинки трекера" (в этом же месте).
В силу особенностей хранения структуры форумов в phpBB3 сделать это достаточно сложно. Нужно добавлять поле "level", а я не хотел этого делать - хотелось обойтись без модификации структуры БД. Иным способом тоже можно, но гемморойно.
va
vasily39
Сообщения: 3
Зарегистрирован: 30 окт 2009, 20:16
Сообщение

Re: Блок "Категории" и маленький вопрос =)

21 ноя 2009, 03:21

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

Получается нечто дерева c 2мя уровнями. Это только для форума типа трекер =) где есть торренты.

посмотреть можно тут http://www.staken.ru

В portal.php вставить
(куданить после

Код: Выделить всё

if ($config['portal_links'])
{
//	include($portal_root_path . '/block/links.'.$phpEx);
	$template->assign_vars(array(
		'S_DISPLAY_LINKS' => true,
	));
}
)
Вот это (имя таблицы phpbb_forums посмотрите у себя, по умолчанию должно быть такое, если чёт при установке меняли поменяйте имя в запросе)

Код: Выделить всё

$sql = "SELECT forum_id, forum_name, forum_image, forum_topics, parent_id FROM phpbb_forums WHERE forum_type ='1' AND forumas='1' ORDER by left_id";
	$relict = '';
	$result = mysql_query($sql) or die("Query failed : " . mysql_error());
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) 
    {
		if ($line[parent_id] == 1) 
		{
			$sql2 = "SELECT SUM(forum_topics) AS summ FROM phpbb_forums WHERE parent_id = $line[forum_id]";
			$result2 = mysql_query($sql2) or die("Query failed : " . mysql_error());
			$line2 = mysql_fetch_array($result2, MYSQL_ASSOC);
			$sum = $line2[summ] + $line[forum_topics];
			if ($sum == "") $sum = 0;
			
			$relict .= "<a href=\"./viewforum.php?f=$line[forum_id]\" title=\"$line[forum_name] ($sum)\"><b>$line[forum_name] ($sum)</b></a><br>";
		}
		else
		{
			$relict .= " <a href=\"./viewforum.php?f=$line[forum_id]\" title=\"$line[forum_name] ($line[forum_topics])\">$line[forum_name] ($line[forum_topics])</a><br>";
		}
    }

// это для шаблона
	$template->assign_vars(array(
		'S_DISPLAY_NAV' 	=> true,
		'R_NAV'				=> 'НАВИГАЦИЯ ПО РАЗДЕЛАМ',
		'PORTAL_NAV'	=> $relict,
	));

открываем свой стиль в \portal\block\ и создаём файл nav.html следующего содержания

Код: Выделить всё

<style type="text/css">
<!--
.content {
	font-size: 1.1em;
}
//-->
</style>


<div class="panel">
	<div class="inner">
		<span class="corners-top"><span></span></span>
			<h3>{R_NAV}</h3>
			{PORTAL_NAV}
		<span class="corners-bottom"><span></span></span>
	</div>
</div>
<br style="clear:both" />
И теперь очередь за portal_body.html

после

Код: Выделить всё

<td width="{PORTAL_LEFT_COLLUMN}" valign="top" style="padding-right:6px;">
вставляем

Код: Выделить всё

		<!-- IF S_DISPLAY_NAV -->
			<!-- INCLUDE portal/block/nav.html -->
		<!-- ENDIF -->
Вроде как всё. Должно работать =)

Вернуться в «Предложения по новым функциям и возможностям»