Суть этого хака в том, дабы при запросе в основную категорию, выводились его подкатегории и численность новинок в них. Я видал вылитый модуль за баксы и для ветхих версий. Этот же хак халява и обещается рабить на свежиж версиях движка
Модуль не добавляет нагрузки, давай если всего чуть чуть. Не создаётся никаких добавочных запросов, используется внутренний массив $cat_info. Однако я его капельку дописал, тем самым добавил возможность вывести численность новинок в этой категории.
Суть этого хака в том, дабы при запросе в основную категорию, выводились его подкатегории и численность новинок в них. Я видал вылитый модуль за баксы и для ветхих версий. Этот же хак халява и обещается рабить на свежиж версиях движка
Модуль не добавляет нагрузки, давай если всего чуть чуть. Не создаётся никаких добавочных запросов, используется внутренний массив $cat_info. Однако я его капельку дописал, тем самым добавил возможность вывести численность новинок в этой категории.
Установка:
1. Отредактировать запрос в engine/init.php
Найти:
$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 () ) {
Заменить на:
$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
Найти:
require_once ROOT_DIR . ‘/engine/init.php’;
Ниже вставить:
/*Хак вывода подкатегорий*/
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 = «»;
}
/*Хак вывода подкатегорий*/
Найти:
Ниже вставить:
3. Открыть templates/{Ваш шаблон}/main.tpl
В удобное место добавить: