[Помогите] Как вывести в категории список подкатегорий?

Тема в разделе "DataLife Engine", создана пользователем Lobzik76, 16 апр 2013.

  1. Lobzik76

    Lobzik76

    Регистрация:
    6 фев 2013
    Сообщения:
    135
    Симпатии:
    9
    Я новичок в DLE. Помогите решить задачу такого плана:
    есть категории и есть привязанные к ним подкатегории, при открытии страницы категории отображаются все новости, входящие как в категорию, так и в подкатегории, но сами подкатегории не отображаются.
    Нужно сделать так, чтобы при открытии категории отображались все новости категории и подкатегорий, а сверху чтобы отображались подкатегории.
    Или же чтобы при открытии категории на странице отображались только подкатегории.
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    В index.php после
    PHP:
    $tpl->set '{topnews}'$topnews );
    Вставляем
    PHP:
    $tpl->set('{category_menu}'$cat_menu);
    В engine/init.php в самом самом конце подключаем
    PHP:
    include_once ENGINE_DIR '/modules/category.php';
    В шаблоне main.tpl в каком хотим месте вставляем
    PHP:
    {topnews}
    Создаем файл category.php в папке /engine/modules/ с таким содержимым
    PHP:
    <?php
    if(!defined('DATALIFEENGINE'))
    {
      die(
    "Hacking attempt!");
    }
    function 
    CatMenuUrl$id$all_info ) {
        if ( ! 
    $id ) return;
        
    $parent_id $all_info[$id]['parentid'];
        
    $url $all_info[$id]['alt_name'];
        while ( 
    $parent_id ) {
            
    $url $all_info[$parent_id]['alt_name'] . "/" $url;
            
    $parent_id $all_info[$parent_id]['parentid'];
            if ( 
    $all_info[$parent_id]['parentid'] == $all_info[$parent_id]['id'] ) break;
        }
        return 
    $url;
    }
     
    #-----------------------------------------#
     
     
    if ($do == "cat" and $category != '' and $subaction == '') {
        if( 
    $category) {
        
    $cat_menu='<div class="sidebar"><div id=menu><div class="menutop"></div><div id="test1-header" class="dlet_menu_head header_highlight">Модель</div><div style="display: block;" id="test1-content" class="dlet_menu_cont"><ul>';
     
    foreach ( 
    $cat_info as $key => $cats ) {
            
    $all_info[$key][';id'] = $cats['id'];
            
    $all_info[$key][';parentid'] = $cats['parentid'];
            
    $all_info[$key][';name'] = $cats['name'];
            
    $all_info[$key][';alt_name'] = $cats['alt_name'];
            if ( 
    $cats['alt_name'] == $category )
                {
    $id_now
    $cats[id];}
    }
            foreach ( 
    $cat_info as $key => $cats ) {
            
    $all_info[$key][';id'] = $cats['id'];
            
    $all_info[$key][';parentid'] = $cats['parentid'];
            
    $all_info[$key][';name'] = $cats['name'];
            
    $all_info[$key][';alt_name'] = $cats['alt_name'];
     
            if (
    $cats[parentid] == $id_now) { $id_category $cats[id];
    if ( 
    $config['allow_alt_url'] == "yes" $cat_menu .= "<li" $newmarker "><h3><a href=\"" $config['http_home_url'] . get_url($id_category) . "/\" rel=\"index section\"><strong>"$cats[name] . "</strong></h3></a>";
                else 
    $cat_menu.='<li><h3><a  rel=\"index section\" href="'.$config['http_home_url'].'index.php?do=cat&a
    mp;category='
    .$cats[alt_name].'">'.$cats[name];."</a></h3></li>";
                &
    nbsp;            &nbsp;       
            }
    }   
    $cat_menu.='</ul></div><div class="menubot"></div></div></div>';
    }
    }
    ?>
     
  3. Lobzik76

    Lobzik76

    Регистрация:
    6 фев 2013
    Сообщения:
    135
    Симпатии:
    9
    я уже находил этот вариант, но он выдает ошибку
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    а так?
    *код поправил.

    можно посмотреть еще в сторону: prowebber.ru/dle/moduls/12329-avtomaticheskiy-vyvod-podkategoriy.html
     
  5. Lobzik76

    Lobzik76

    Регистрация:
    6 фев 2013
    Сообщения:
    135
    Симпатии:
    9
     
  6. hrobocop

    hrobocop

    Регистрация:
    17 апр 2013
    Сообщения:
    15
    Симпатии:
    3
    так посмотри что там в \category.php on line 43
     
  7. Lobzik76

    Lobzik76

    Регистрация:
    6 фев 2013
    Сообщения:
    135
    Симпатии:
    9
    mp;category='.$cats[alt_name].'">'.$cats[name];."</a></h3></li>";