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

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

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




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Вывод дерева nested sets из ORM MPTT
СообщениеДобавлено: 14 янв 2013, 07:14 
Не в сети
Бывалый

Зарегистрирован: 09 авг 2012, 13:17
Сообщения: 43
Есть категории с различными уровнями вложенности , как их вывести в список и где это лучше сделать, в контроллере или в шаблоне(виде)?
Пробовал рекурсией но выводит только категории с 0 уровнем вложенности, в чем проблема?
Код:
    public function build_tree($cats, $parent_id)
    {
        if (is_array($cats) and isset($cats[$parent_id]))
        {
            $tree = '<ul>';
            foreach ($cats[$parent_id] as $cat)
            {
                $tree .= '<li>' . html::anchor('catalog/cat/c' . $cat->id, $cat->title, array('class' => 'list'));
               
                $tree .= $this->build_tree($cat, $cat->id);
                $tree .= '</li>';
            }
            $tree .= '</ul>';
        }
        else
            return null;
        return $tree;

    }


Код:
 $categories = ORM_MPTT::factory('category')->fulltree()->as_array();
        //$cats = array();
        foreach ($categories as $row)
        {
            $cats[$row->parent_id][] = $row;
        }
        $s=$this->build_tree($cats, '0');
        $this->template->s = $s;


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

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


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

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


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

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