Все для DataLife Engine / DLE модули / Бесплатные / DLE Автоматический вывод подкатегорий

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


Представляем на https://dle9.com/ модуль DLE Автоматический вывод подкатегорий, полезный веб-мастерам, если на сайте много категорий и не хочется вписывать их в шаблоне вручную

У вас много категорий на сайте? И вам их не хочется для проверки дизайна прописывать в шаблоне вручную каждый раз? Тогда
модуль DLE Автоматический вывод подкатегорий для вас!

Простенький модуль для DLE автоматический вывод подкатегорий предназначен, чтобы немножко упростить жизнь владельцев и/или разработчиков интернет площадок. Хотя модуль прост, ему можно найти очень много вариантов применения. Тут уже всё зависит от вас и пределов возможностей модуля конечно :)

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

Теперь приступим к установке модуля Автоматический вывод подкатегорий
В папке ./engine/mods/ создайте файл autocats.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']}</li>\n";    //подсветка открытой категории, при заданном параметре parent
            else echo "<li><a href=\"/".get_url($k)."/\">{$v['name']}</li>\n";    //просто категория, при заданном параметре parent
        }
    }elseif($category_id==$v['parentid']) echo "<li><a href=\"/".get_url($k)."/\">{$v['name']}</li>\n";        //автоматический список подкатегорий из просматриваемой категории
}
?>


Теперь в шаблоне dle вашего основного шаблона в месте, где вы хотите вывести модуль добавляем следующий код:
  • {include file="engine/mods/autocats.php"}


Данный код будет всегда выводить список только подкатегорий из просматриваемой категории, а в случаи просмотра главной, будет выводиться только список категорий первого уровня.

В некоторый случаях вы можете указать параметр parent=2, где 2 - ID категории.
  • {include file="engine/mods/autocats.php?parent=2"}


Теперь будет выводиться список подкатегорий из родительской категории с указанным ID. При этом есть маленький фокус, своего рода фишка.
Например есть категории:
Фильмы ID = 2
— Русские
— Зарубежные
— Индийские :)

Сериалы ID = 3
— Завершенные
— Снимаются


И если теперь зайти в категорию "Зарубежные" (при заданном параметре parent=2), то этот пункт будет помечен классом "current":
<li><a href="#">Русские</a></li>
<li class="current"><a href="#">Зарубежные</a></li>
<li><a href="#">Индийские :)</a></li>


С помощью модуля можно подсвечивать и родительскую категорию при просмотре подкатегории. Но для этого родительский список категорий должен выводиться с указанным параметром parent. где parent=0 - это категории первого уровня.
  • {include file="engine/mods/autocats.php?parent=0"}


При таком выводе, если зайти в категорию "Завершенные", то в этом списке будет подсвечена строка "Сериалы":
<li><a href="#">Фильмы</a></li>
<li class="current"><a href="#">Сериалы</a></li>


Но тут ограничение до 1 родительской категории.
Т.е. если у вас категории:
Фильмы
- Русские id=5
- - Боевик

То при просмотре категории "Боевик", категория "Фильмы" уже помеченной не будет. Пометить можно будет только категорию "Русские", если код выводится с указанием parent=5

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

Если этот модуль оказался вам полезен, буду рад "чаевым" в любых размерах =)
Z753504041409
R181268656057

С уважением,
Олег Александрович a.k.a. Sander

Скачать модули для DLE, как модуль DLE Автоматический вывод подкатегорий по следующей ссылке

Avtomaticheskiy-vyvod-podkategoriy.rar [16,76 Kb] (cкачиваний: 165)
  • 100

Комментарии 2

dle9.com от 16 декабря 2019 06:55
Цитата: snamp
а как сделать, что бы подкатегории по алфавиту автоматически формулировались?

внедрить функцию сортировка, или поставить сортировку, чтобы сами пользователи могли сортировать по желанию
snamp от 12 декабря 2019 19:25
а как сделать, что бы подкатегории по алфавиту автоматически формулировались?
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent