Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 29 мар 2024, 04:38

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Дерево категорий
СообщениеДобавлено: 10 окт 2012, 20:35 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
А я и не смотрел :) Из головы вылетело. До сих пор не решили проблему?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дерево категорий
СообщениеДобавлено: 12 окт 2012, 09:59 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 23 июл 2012, 21:58
Сообщения: 100
Доброго времени суток.
До конца не решена. Но нашел такой выход:
Код:
function getCats($res){
    $levels = array();
    $tree = array();
    $cur = array();
    foreach($res as $rows){
       
        $cur = &$levels[$rows['term_id']];
        $cur['parent'] = $rows['parent'];
        $cur['name'] = $rows['name'];
       
        if($rows['parent'] == 0){
            $tree[$rows['term_id']] = &$cur;
        }
        else{
            $levels[$rows['parent']]['children'][$rows['term_id']] = &$cur;
        }
       
    }
    return $tree;
}

Код:
function getTree($arr,$l=1){
    $out = '';
    $out .= '<ul>';
    foreach($arr as $k=>$v){
        $out .= '<div style="margin-left:"'.($l*25).'"px;">'.$v['name'].'</div>';
        if(!empty($v['children'])){
            $l = $l + 1;
            $out .= getTree($v['children'],$l);
            $l = $l - 1;
        }
    }
    $out .= '</ul>';
    return $out;
}
$cats = getCats($cats_p);
echo getTree($cats);

Порядок получается что надо, но не могу добиться отступов.
На команду mysql_fetch_assoc у меня Kohana ругался.
Было заменено на forech, не знаю верно ли только?
С уважением, Роман.


Последний раз редактировалось borodatych 20 окт 2012, 19:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дерево категорий
СообщениеДобавлено: 20 окт 2012, 19:28 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 23 июл 2012, 21:58
Сообщения: 100
Вдруг кто копи-пастнуть решил и не вышло.
Пример выше поправлен уже.
Заменил
Код:
$out .= getTree($v['children']);

на
Код:
$out .= getTree($v['children'],$l);

Не внимательность мать ее..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дерево категорий
СообщениеДобавлено: 22 окт 2012, 06:14 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 23 июл 2012, 21:58
Сообщения: 100
Доброго времени суток.
Дерево то построилось, но я не могу его корректно поместить в select.
Подскажите в какую сторону двигаться.
С уважением, Роман.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дерево категорий
СообщениеДобавлено: 22 окт 2012, 06:17 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
форичем. для заголовков подкатегорий добавляйте option который нельзя выбрать а в css дайте им стиль какой нибудь отличающийся


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дерево категорий
СообщениеДобавлено: 23 окт 2012, 01:53 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
На днях планирую опубликовать 2 своих модуля: генератор меделей и строитель деревьев.
Постараюсь обильно снабдить комментариями и добавть побольше примеров использования.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group