Подкатегори на странице категории — DLE
Данный хак выводит список подкатегорий на странице категории.
Как реализовать:
1. Отредактировать запрос в engine/init.php
Найти:
1 2 3 4 5 6 7 |
$cat_info = get_vars ( "category" ); if (! is_array ( $cat_info )) { $cat_info = array (); $db->query ( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" ); while ( $row = $db->get_row () ) { |
Заменить на:
1 2 3 4 5 6 7 8 |
$cat_info = get_vars ( "category" ); if (! is_array ( $cat_info )) { $cat_info = array (); $db->query ( "SELECT ".PREFIX."_category.id, name, ".PREFIX."_category.alt_name, icon, skin, parentid, news_sort, news_msort, news_number, short_tpl, full_tpl, COUNT(".PREFIX."_post.category) as post_count FROM ".PREFIX."_category LEFT JOIN ".PREFIX."_post ON ".PREFIX."_category.id = ".PREFIX."_post.category GROUP BY id "); while ( $row = $db->get_row () ) { |
2. Подключить это в index.php (Для DLE 11.x правки делаем в файле engine/modules/main.php)
Найти:
1 |
require_once ROOT_DIR . '/engine/init.php'; |
Ниже вставить:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
/*Хак вывода подкатегорий*/ foreach ($cat_info as $key => $value){ if ($category_id == $cat_info[$key]['parentid'] AND $category_id != ""){ if ($config['allow_alt_url'] == "yes") $url = $config['http_home_url'] . $cat_info[$category_id]['alt_name'] ."/". $cat_info[$key]['alt_name'] . "/"; else $url = $config['http_home_url'] . "index.php?do=cat&category=" . $cat_info[$key]['alt_name']; $catmenu .= "<TR> <TD width=30%><a href="{$url}">".$cat_info[$key]['name']."</a></TD> <TD width=5%>".$cat_info[$key]['post_count']."</TD> </TR>"; } } if ($catmenu){ $sub_cats .= "<b>Список подкатегорий:</b> <br /><table width=100%>"; $sub_cats .= $catmenu; $sub_cats .= "</table>"; } else { $sub_cats = ""; } /*Хак вывода подкатегорий*/ |
Найти:
1 |
$tpl->load_template ( 'main.tpl' ); |
Ниже вставить:
1 |
$tpl->set('{sub_cats}', $sub_cats); //Хак вывода подкатегорий |
3. Открыть templates/{Ваш шаблон}/main.tpl и в удобное место добавить:
1 |
{sub_cats} |
Готово.