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

Категория: Модули DLE » Модуль для DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
DLE Автоматический вывод подкатегорий
Представляем на http://www.dle9.com/ модуль DLE Автоматический вывод подкатегорий, полезный веб-мастерам, если на сайте много категорий и не хочется вписывать их в шаблоне вручную
www.dle9.com


У вас много категорий на сайте? И вам их не хочется для проверки дизайна прописывать в шаблоне вручную каждый раз? Тогда
модуль 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 Автоматический вывод подкатегорий по следующей ссылке
  • 100
Рубрика: DLE модули » Бесплатные
Ранее » DLE LinkEnso PRO v2.3.3« Далее Модуль для DLE сезонов/серий с moonwalk
Добавление комментарияОставить комментарий