Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как настроить вывод списка категорий через код php?

Как настроить вывод списка категорий через код php?


     Общие вопросы по PHP, Хаки    3955

вопрос
Сразу опишу проблему, нашел способ как вывести категории на сайт автоматическим путем, так как использовать ручной ввод категорий очень долго, их свыше 100.
Помогите настроить php так как 0 в этом.


Создать файл subcat.php и поместить его в /engine/modules/


<?php
if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); }
function CategoryMenu($categoryid = 0, $parentid = 0, $returnstring = '') {
    global $cat_info, $user_group, $member_id;
    $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_allow_addnews'] );
    $root_category = array ();  
    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 ) {              
                if( $allow_list[0] == "all" or in_array( $id, $allow_list ) ) {          
                    $returnstring .= "<a href='/".$cat_info[$id]['alt_name']."/ title=\"".$cat_info[$id]['descr']."\"'>" . $cat_info[$id]['name']."</a><br>";
                }
                $returnstring = CategoryMenu( $categoryid, $id, $returnstring );
            }
        }
    }
    return $returnstring;
}
echo CategoryMenu(0, $category_id);


Вывести файл в инклюд в шаблоне например {THEME}/main.tpl код html

[aviable=cat]{include file="/engine/modules/subcat.php"}[/aviable]


Нужно сделать так чтобы подкатегории, не открывались вместе с категориями, так как этот код выводит все категории и подкатегории вместе

Как настроить вывод списка категорий через код php?


Ответа пока нет


3 комментария

badmen
Юзер

badmen - -


еще 1. не открывается древо при нажатии на категорию, а открывается прямая ссылка на категорию

dj-avtosh
PHP-developer

dj-avtosh - -

Ничего не понятно, Вам нужно субкатегории текущей категории выводить?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

badmen
Юзер

badmen - -


Разобрался, вот так нужно было, только след. вопрос..
Этот скрипт работает правильно, только он убирает подкатегории если я перехожу в последнюю категорию древа или на саму новость, а мне нужно чтобы последнее древо отображалось и не исчезало (скрин)

<?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=\"ca-main\"><a href=\"/".get_url($k)."/\">{$v['name']}</a></li>\n";
            else echo "<li><a href=\"/".get_url($k)."/\">{$v['name']}</a></li>\n";
        }
    }elseif($category_id==$v['parentid']) echo "<li><a href=\"/".get_url($k)."/\">{$v['name']}</a></li>\n";
}
?>

Похожие вопросы

наверх