Создаю двухуровневое меню.
Двумя запросами выбираю
а. элементы с parent_id = 0
б. элементы с parent_id > 0
функция выборки
Код: Выделить всё
function display_menu() {
global $db, $auth, $user, $template;
global $phpbb_root_path, $phpEx, $config;
$sql = 'SELECT * FROM '.PORTAL_CATEGORY.' WHERE `parent_id` = 0';
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
do {
$template->assign_block_vars('categories', array(
'CATEGORY_TITLE' => $row['title'],
'CATEGORY_LINK' => append_sid("{$phpbb_root_path}viewcategory.$phpEx", 'c=' . $row['id']),
'CATEGORY_ID' => $row['id'],
'CATEGORY_DESC' => $row['description']
));
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
$sql = 'SELECT * FROM '.PORTAL_CATEGORY.' WHERE `parent_id` > 0 ';
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result)) {
do {
$template->assign_block_vars('categories.subcategories', array(
'CATEGORY_TITLE' => $row['title'],
'CATEGORY_LINK' => append_sid("{$phpbb_root_path}viewcategory.$phpEx", 'c=' . $row['id']),
'CATEGORY_PARENT' => $row['parent_id'],
'CATEGORY_ID' => $row['id'],
'CATEGORY_DESC' => $row['description']
));
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
} Шаблон менюшки:
Код: Выделить всё
<!-- BEGIN categories -->
<tr>
<td class="row1" width="32" height="32">{TOPIC_FOLDER_IMG}{categories.CATEGORY_ID}</td>
<td class="row1" style="padding-left:12px;"><a href="{categories.CATEGORY_LINK}" title="{categories.CATEGORY_DESC}" class="forumlink">{categories.CATEGORY_TITLE}</a>
</td>
</tr>
<!-- BEGIN subcategories -->
<tr>
<td class="row1" width="32" height="32">{categories.subcategories.CATEGORY_PARENT}</td>
<td class="row1" style="padding-left:12px;">
<li><a href="{categories.subcategories.CATEGORY_LINK}" title="{categories.subcategories.CATEGORY_DESC}" class="forumlink">{categories.subcategories.CATEGORY_TITLE}</a></li>
</td>
</tr>
<!-- END subcategories -->
<!-- END categories -->Код: Выделить всё
<!-- BEGIN categories -->
<tr>
<td class="row1" width="32" height="32">{TOPIC_FOLDER_IMG}{categories.CATEGORY_ID}</td>
<td class="row1" style="padding-left:12px;"><a href="{categories.CATEGORY_LINK}" title="{categories.CATEGORY_DESC}" class="forumlink">{categories.CATEGORY_TITLE}</a>
</td>
</tr>
<!-- BEGIN subcategories -->
<!-- IF categories.subcategories.CATEGORY_PARENT == categories.CATEGORY_ID -->
<tr>
<td class="row1" width="32" height="32">{categories.subcategories.CATEGORY_PARENT}</td>
<td class="row1" style="padding-left:12px;">
<li><a href="{categories.subcategories.CATEGORY_LINK}" title="{categories.subcategories.CATEGORY_DESC}" class="forumlink">{categories.subcategories.CATEGORY_TITLE}</a></li>
</td>
</tr>
<!-- ENDIF -->
<!-- END subcategories -->
<!-- END categories -->Подскажите как решить эту проблему.
Версия PHPBB - 3.0.10



