Дерево категорий в Kohana 3.2

Beginner.83

Новичок
Кто нибудь подскажите какой нить готовый код для построения дерева категорий с универсальной вложенностью. Ну то есть с неограниченной вложенностью. Модель написал.
Вот связи модели:
PHP:
Class Model_Catalog_Category extends ORM 
{
    protected $_table_name = 'catalog_categories';
    
    protected $_belongs_to = array(
		    'parent' => array(
            'model' => 'catalog_category',
            'foreign_key' => 'parent_id'
        ),
	  );
    
    protected $_has_many = array(
        'partner' => array(
            'model'       => 'partner',
            'through'     => 'categories_partners',
            'foreign_key' => 'catalog_categories_id',
            'far_key'     => 'partners_id',
        ),
        'children' => array(
            'model' => 'catalog_category',
            'foreign_key' => 'parent_id'
        ),
    );
}
А вот сам цикл в котором нужно сгенерить дерево списком <UL><li>
PHP:
$categories = ORM::factory('cat')->where('parent_id', '=', $id)->find_all();
        foreach ($categories as $category)
        {
          foreach ($category->children->find_all() as $sub_category)
          {
             echo $sub_category->name;
          }
        }
Подскажите пожалуйста куда нужно вставить теги <ul> и <li> и в какой строке должен расположится рекурсивный метод что бы дерево валидно выстроилось с учётом валидности HTML.
Мозг себе уже изнасиловал не как не получается выставить теги в нужно расположении.
 

Вурдалак

Продвинутый новичок
У тебя вопрос про HTML, а ты приплёл сюда PHP с Kohana.
Вопрос можно было сформулировать короче и в нужном разделе.
Код:
<ul type="disc">
<li>
    1
    <ul type="disc">
    <li>1.1</li>
    <li>1.2</li>
    <li>1.3</li>
    </ul>
</li>
</ul>
Надеюсь, отсюда видно, то повторяется подшаблон
Код:
parent_name
<ul type="disc">
// children
</ul>
У элементов без детей просто не должно быть <ul>...</ul>.
 

Beginner.83

Новичок
У тебя вопрос про HTML, а ты приплёл сюда PHP с Kohana.
Вопрос можно было сформулировать короче и в нужном разделе.
Код:
<ul type="disc">
<li>
    1
    <ul type="disc">
    <li>1.1</li>
    <li>1.2</li>
    <li>1.3</li>
    </ul>
</li>
</ul>
Надеюсь, отсюда видно, то повторяется подшаблон
Код:
parent_name
<ul type="disc">
// children
</ul>
У элементов без детей просто не должно быть <ul>...</ul>.
А не подскажете есть ли подход в формировании дерева для избежания рекурсии. Ну то есть сформировать такой же список только без рекурсии.
 
Сверху