Где почитать о CTreeView

Есть задача создания древовидных комментов. Точнее задача решена, но использованный мной способ чтото не кажется мне надежным (есть ограничения по вложенности и кол-ву комментов в каждой ветке).

Сейчас увидел интересный класс TreeView, правда из документации так и не понял как его использовать. Если несложно, опишите в кратце, как им пользоваться, или дайте где почитать?

Кажется это не совсем то, что тебе нужно.

Этот класс - который является воплощением jquery-плагина - просто отображает списки в виде дерева папок (Вот демка: http://jquery.bassis…treeview/demo/)

Вероятно тебе придется использовать подход Nested Sets.

Есть подобное расширение для Yii - http://www.yiiframew…sion/nestedset/

Но, оно еще в глубокой бете, и сомневаюсь, что оно тебе подойдет. (Лично мне не подошло).

А какой подход ты используешь сейчас, какие у тебя ограничения и чем они вызваны?

Ну тут у меня больше на дб канешно завязаны ограничения. А способ в как в этой статье: http://dpp.su/blog/d…-tree-comments/ (т.е. использование столбцов path и sortorder, ограничения связаны с максимальным размером их поля - 255 знаков)

Кстати на основе этого класса сделал себе красивенькие Личные сообщения на сайте. Первый уровень - это обычные входящие/исходящие сообщения, другие уровни - это ответ на сообщение (не ограниченная вложенность). Вроде нормально получилось.

Ого, интересно. Если не сложно, в кратце расскажите как работать с этим классом?

Вызывается в виде виджета на странице отображения:

$this->widget('CTreeView', array('data' => $my_data));

в параметр data передается многомерный массив дерева следующего вида:



$date = array(


    array(


        'id'       => 'номер_узла', 


        'text'     => 'узел 1',


        'expanded' => true, // будет развернута ветка или нет (по умолчанию)


            'children' => array(


                 array(


                    'id'       => 'номер_узла', 


                    'text'     => 'узел 1.1',


                    'expanded' => false, // будет развернута ветка или нет (по умолчанию)


                ), 


                 array(


                    'id'       => 'номер_узла', 


                    'text'     => 'узел 1.2',


                    'expanded' => true, 


                ),               


            )


    ),


    array(


        'id'       => 'номер_узла', 


        'text'     => 'узел 2',


    ),


    array(


        'id'       => 'номер_узла', 


        'text'     => 'узел 3',


    ),


);


в children задаются дети как понимаешь. если параметра children нету - значит детей у узла тоже нету. есть еще дополнительные опции в виде выбора скина (немного влияет на отображение дерева), анимации разварачивания узлов и тп. но об этом сможешь в апи почитать.

Спасибо, ща попробую!

Пожалуй апну топик.

Как говорится на сайте самого плагина:

Note as of April 2010: While the plugin still works as it is, it has some shortcomings, and not maintained anymore.

что он больше не будет развиваться, и автор рекомендует юзать другой - jsTree, который, возможно станет частью jui.

Собственно, быть может разработчики Yii сочтут за нужное изменение сабжевого класса (CTreeView) с целью поддержки именно jsTree или добавят новый враппер для этого нового плагина… кто в курсе и общается с ними и может предложить подобное изменение ?

Ну и так же есть такой экстеншин однако, имхо более правильнее, если новые версии фреймвёрка будут "поддерживать" живые и актуальные сторонние плагины вместо старых и неподдерживаемых

Вот ссылка http://yiiframework.ru/forum/viewtopic.php?f=9&t=804 все понятно написано и все работает сразу. Спасибо автору Timlar

А как реализовать, что бы у каждого чилдрена было add | edit | del | up | down?