Открыть Ответить

Хак вывода подкатегорий

Ни скрине ниже корневая директория. В ней мы видим, что у категории "Книги" есть подкатегории (три штуки).

forum-YK0e6GFa6z-22831.jpg


Теперь, если перейдём в категорию «Книги» (т.е. не корневую), то в стандартной поставке отобразятся только эти три категории.

Скрин 2
forum-gBlUA0M615-22831.jpg



Хак же позволяет увидеть и вложенные категории (в случае их наличия) (Скрин 3).

Скрин 3 ( модифицированный вариант)
forum-T3wbwC85aV-22831.jpg



Модификация проста.
Файл function/function.php
Функция categories ()
с самом начале модифицировать две строки убрав из них AND parentid = id.
В результате получится:

if ($id) {
    $where = "WHERE modul = '".$mod."' ";
} elseif ($id && $conf['multilingual']) {
    $where = "WHERE modul = '".$mod."' AND (language = '".$currentlang."' OR language = '')";
} elseif ($conf['multilingual']) {
    $where = "WHERE modul = '".$mod."' AND (language = '".$currentlang."' OR language = '')";
}else{
    $where = "WHERE modul = '".$mod."'";
}


Далее подкорректировать while, добавив условие if:

while (list($cid, $title, $description, $img, $parentid, $auth_view, $auth_read) = $db->sql_fetchrow($result)) {
    if($id && $id==$parentid){
        $massiv2[] = array($cid, $title, $description, $img, $parentid, $auth_view, $auth_read);            
        }
	$massiv[] = array($cid, $title, $description, $img, $parentid, $auth_view, $auth_read);
	unset($cid, $title, $description, $img, $parentid, $auth_view, $auth_read);            
}

Сразу за этим добавить строку:
if(empty($massiv2)) $massiv2=$massiv;


И последний штрих:
Поcле cont=""
изменить переменную $massiv на $massiv2 :
foreach ($massiv2 as $val) {


На этом всё.

Группа
Клиент
Пункты
32363
Регистрация
06.05.2011
Пол
Мужчина
Предупреждения
Нет
olevpa
olevpa
4.02

4.02

Полезная модификация, спасибо!


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
Группа
Клиент
Пункты
39382
Регистрация
30.04.2005
Пол
Мужчина
Из
Germany
Предупреждения
Нет
SLAED CMS
SLAED CMS
3.24

3.24

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь