Ищу Вывод списка категорий/подкатегорий как в админпанели

Тема в разделе "DLE", создана пользователем Bulletproof, 5 ноя 2009.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Bulletproof

    Bulletproof Постоялец

    Регистр.:
    28 янв 2009
    Сообщения:
    56
    Симпатии:
    2
    Заметил, что в админпанели (8.2 и ранее) в управлении категориями организован максимально правильный (как я считаю) вывод списка категорий с учетом вложенности, как в расположении, так и в чпу.
    За управление категориями отвечает файл: engine/inc/categories.php
    Суть вопроса: реализован ли на базе данного кода мод/хак для вывода списка категорий/подкатегорий непосредственно на сайте?
    Если нет, то как бы это можно было бы оптимально сделать?
     
  2. FL@SH

    FL@SH Читатель

    Заблокирован
    Регистр.:
    20 июл 2008
    Сообщения:
    193
    Симпатии:
    25
    А покопаться в
    engine/inc/categories.php
    Религия не позволяет?
     
  3. Bulletproof

    Bulletproof Постоялец

    Регистр.:
    28 янв 2009
    Сообщения:
    56
    Симпатии:
    2
    Покопаться - это уже сделал.
    Я не могу понять как его подключить правильно для вывода на сайте :(
    Или же как его вынести в отдельный модуль без добавления/редактирования/удаления...
     
  4. bumer3

    bumer3

    Регистр.:
    10 янв 2008
    Сообщения:
    291
    Симпатии:
    154
    Создаеш темплайт map.tpl
    там должна быть пометка {code} куда это все будет выводится.
    создаеш файл modules/map.php
    туда вставляеш
    PHP:
    <?php
    function DisplayCategories($parentid 0$sublevelmarker '')
    { global 
    $lang$cat_info$config$dle_login_hash;
      
    //global $buffer;
      // start table
      
    if($parentid <> 0)
        
    $sublevelmarker .= '--';
       
    $buffer.= '<ul>';
      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) {
               
    $category_name $cat[$id];
            
    $link "<a class=\"list\" href=\"{$config['http_home_url']}".$cat_info[$id]['alt_name']."/\" target=\"_blank\">".stripslashes($cat_info[$id]['name'])."</a>";
        
    $buffer.= "<li>
          "
    .$link."
          </li>"
    ;
         
    $buffer.=DisplayCategories($id$sublevelmarker);
          }
       }
      }
      
    // end table
      
    $buffer.= '</ul>';
      return 
    $buffer;
    }
    $tpl->load_template('map.tpl');
    $tpl->set('{code}'DisplayCategories());
    $tpl->compile('content');
    $tpl->clear();    
        
    ?>
    и теперь в engine.php добавляеш
    PHP:
    case "map" :
            include 
    ENGINE_DIR '/modules/map.php';
            break;
     
  5. Bulletproof

    Bulletproof Постоялец

    Регистр.:
    28 янв 2009
    Сообщения:
    56
    Симпатии:
    2
    Сделал, подключил в main.tpl с помощью {include file="map.tpl"} - выводит {code} и все.
    Что сделал не так? Подскажите, пожалуйста
     
  6. -=BlackSmoke=-

    -=BlackSmoke=-

    Регистр.:
    4 авг 2009
    Сообщения:
    280
    Симпатии:
    49
    как-то так.
     
  7. Bulletproof

    Bulletproof Постоялец

    Регистр.:
    28 янв 2009
    Сообщения:
    56
    Симпатии:
    2
    -=BlackSmoke=-, а куда этот код вставлять?

    ---------- Post added at 03:00 ---------- Previous post was at 01:53 ----------

    Все, разобрался сам, достиг нужного результата.
    Спасибо
     
Статус темы:
Закрыта.