Yii (вложенное дерево страниц)

Имеем таблицу tbl_page вида
d_id
d_name
d_url 
department_d_id

где department_d_id = 0 - это корневой элемент

в первом приближении
<pre><code>
$a = Department::model()->findAll();

for ($i = 0; $i < count($a); $i++)
{

    if ($a[$i]['department_d_id'] == 0 && $a[$i]['department_d_id'] != NULL)
    {
        $my[$i] = array
            (
            //'text' => CHtml::link($one->d_name, array($one->d_url)),
            'text' => $a[$i]['d_name'],
            'id' => $a[$i]['d_id'],
            'expanded' => false,
        );
    }
}
</code></pre>
 
так мы создали корневые элементы

for ($x = 0; $x < count($my); $x++)
{
    for ($y = 0; $y < count($a); $y++)
    {

        if ($my[$x][id] == $a[$y]['department_d_id'])
        {
            $my[$x][children][] = array
                (
                // 'text' =>CHtml::link($one->d_name,array($one->d_url))
                'text' => $a[$y]['d_name'],
            );
        }    
    }
}
так мы добавили потомков

с помощью виджета выводим
$this->widget('CTreeView', array('data' => $my, 'htmlOptions' => array('class' => 'treeview-red')));


Популярные сообщения из этого блога

Пишем логи на C# (.NET). Легкий способ.

Средства для работы с базой данный PostgreSql

Авторизация yii 2 из базы