Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Автоматический вывод подкатегорий

Тема в разделе "Модули DLE", создана пользователем DLEPlugins, 29 май 2016.

29.05.16 в 08:41
29.05.16 в 08:41
0
965
1
  1. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    [​IMG]
    Этот простенький модуль предназначен, чтобы хоть немножечко упростить жизнь администраторов и/или разработчиков сайтов.
    Не смотря на то, что модуль довольно таки простой, ему можно найти довольно много вариантов применения. Тут уже у кого на сколько хватит фантазии, в пределах возможностей модуля конечно :)

    Небольшая ремарка, я рекомендую все сторонние модули размещать в специальной папке./engine/mods/ (и призываю к этому всех других разработчиков), таким образом все модули находятся в одном месте, а не разбросаны по всевозможным папкам. Для модулей из нескольких файлов там же создаются отдельные папки, например ./engine/mods/orderdesc/.
    В итоге все выглядит очень опрятно и не путаются сторонние модули с файлами движка в папке./engine/modules/.

    Приступим, в папке ./engine/mods/ создать файл autocats.php с содержимым:
    PHP:
    <?PHP
    if(!defined('DATALIFEENGINE'))die("Hacking attempt!");
    $cid = isset($parent)?intval($parent):false;
    foreach(
    $cat_info as $k=>$v){
        if(
    $cid!==false){
            if(
    $cid==$v['parentid']){
                if(
    $category_id==$k OR $cat_info[$category_id]['parentid']==$k) echo "<li class=\"current\"><a href=\"/".get_url($k)."/\">{$v['name']}</a></li>\n";    //подсветка открытой категории, при заданном параметре parent
                
    else echo "<li><a href=\"/".get_url($k)."/\">{$v['name']}</a></li>\n";    //просто категория, при заданном параметре parent
            
    }
        }elseif(
    $category_id==$v['parentid']) echo "<li><a href=\"/".get_url($k)."/\">{$v['name']}</a></li>\n";        //автоматический список подкатегорий из просмотравемой категории
    }
    ?>

    Теперь в шаблоне можно подключать следующим образом:
    HTML:
    <ul>{include file="engine/mods/autocats.php"}</ul>
    Этим кодом будет всегда выводиться список только подкатегорий из просматриваемой категории. При просмотре главной, будет выводиться список категорий первого уровня.

    Можно указать параметр parent=2, где 2 - ID категории.
    HTML:
    <ul>{include file="engine/mods/autocats.php?parent=2"}</ul>
    Теперь будет выводиться список подкатегорий из родительской категории с указанным ID. При этом есть маленький фокус, своего рода фишка.
    Например есть категории:
    И если теперь зайти в категорию "Зарубежные" (при заданном параметре parent=2), то этот пункт будет помечен классом "current":
    HTML:
    <li><a href="#">Русские</a></li>
    <li class="current"><a href="#">Зарубежные</a></li>
    <li><a href="#">Индийские :)</a></li>

    А так же, помимо этого можно подсвечивать и родительскую категорию при просмотре подкатегории. Но для этого родительский список категорий должен выводиться с указанным параметром parent. parent=0 - это категории первого уровня.
    HTML:
    <ul>{include file="engine/mods/autocats.php?parent=0"}</ul>
    При таком выводе, если зайти в категорию "Звершенные", то в этом списке будет подсвечена строка "Сериалы":
    HTML:
    <li><a href="#">Фильмы</a></li>
    <li class="current"><a href="#">Сериалы</a></li>
    Но тут ограничение до 1 родительской категории.
    Т.е. если у вас категории:
    То при просмотре категории "Боевик", категория "Фильмы" уже помеченной не будет. Пометить можно будет только категорию "Русские", если код выводится с указанием parent=5

    В общем экспериментируйте, играйтесь, комбинируйте с тегами [category=...]...[/category] и я уверен, у вас получится что-то очень удобное ;)

    Автор: Олег Александрович a.k.a. Sander

    Модуль немеренно полезен, желающим скинуть автору "на пиво":
     
    • Нравится Нравится x 1
Похожие темы
  1. Clemenso
    Ответов:
    107
    Просмотров:
    20.253
  2. Beats
    Ответов:
    4
    Просмотров:
    1.315
  3. PunPun
    Ответов:
    9
    Просмотров:
    1.793
  4. Sasha K-G
    Ответов:
    29
    Просмотров:
    8.388
  5. aeneas
    Ответов:
    9
    Просмотров:
    758
Загрузка...
Яндекс.Метрика