Думаю не только мне порой просто необходимо вывести список подкатегорий с описанием в текущей категории.
Решаем вопрос. (данное решение подходит для всех версий DLE)
1. Открываем файл /engine/modules/functions.php
В самый конец файла, перед закрывающим тегом "?>" добавляем код
function CategoryMenu($categoryid = 0, $parentid = 0, $returnstring = '') { global $cat_info, $user_group, $member_id; $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_allow_addnews'] ); $root_category = array (); if( count( $cat_info ) ) { foreach ( $cat_info as $cats ) { if( $cats['parentid'] == $parentid ) $root_category[] = $cats['id']; } if( count( $root_category ) ) { foreach ( $root_category as $id ) { if( $allow_list[0] == "all" or in_array( $id, $allow_list ) ) { $returnstring .= "<div class='cat'><a href='/".$cat_info[$id]['alt_name']."/'>" . $cat_info[$id]['name'] . "</a><br><div class='descr'>".$cat_info[$id]['descr']."</div></div>"; } $returnstring = CategoryMenu( $categoryid, $id, $returnstring ); } } } return $returnstring; }
2. Открываем файл /engine/init.php
В самый конец файла, перед закрывающим тегом "?>" добавляем код
$tpl->set ( '{categorymenu}', CategoryMenu(0, $category_id));
3. Открываем файл /templates/ваш_шаблон/main.tpl
И в любое нужное Вам место, например прямо перед тегом
{content}вставляем тег
{categorymenu}
Все теперь в категории в которой Вы находитесь будет выводиться список ее подкатегорий, если они имеются со своим описанием.
Однако, если в этой категории нет новостей и не включен вывод новостей из подкатегорий, то вместе с этим списком будет выводится еще значение тега {info}, а именно сообщение об ошибке.
Внимание, обнаружена ошибка
По данному адресу публикаций на сайте не найдено, либо у вас нет доступа для просмотра информации по данному адресу.
Если необходимо убрать это сообщение для категорий, которые имеют подкатегории выполняем 4-й пункт.
4. Открываем файл /engine/modules/show.short.php
Находим код
} elseif( ! $news_found and ! $allow_userinfo and $do != '' and $do != 'favorites' and $view_template != 'rss' ) {и меняем его на код
} elseif( ! $news_found and ! $allow_userinfo and $do != '' and $do != 'favorites' and $view_template != 'rss' and !CategoryMenu(0, $category_id)) {
Как это выглядит:
cat1.jpg 192.69К 29 Количество загрузок: cat2.jpg 237.87К 36 Количество загрузок: cat3.jpg 180.77К 36 Количество загрузок: cat4.jpg 152.93К 26 Количество загрузок: