开发者

Zend_Navigation: How to add numberings in the menu items?

I am generating XML from database records, then feeding it to Zend_Navigation to render it as treeview and before rendering I would like to add the level numbers, like a TOC numberings:

I have:

$partial = array('partials/menu.phtml', 'default');
$this-&开发者_如何学Cgt;navigation()->menu()->setPartial($partial);
echo $this->navigation()->menu()->setUlClass('treeview')->render();

The output is dressed with ul/li(I need ul for treeview):

My First Web Page
     Nice Page
           Main Help
     Works

But I Need:

1.My First Web Page
     1.1 Nice Page
           1.1.1 Main Help
     1.2 Works

How can I dress each level with a number?

$navarray=$this->navigation()->menu()->toArray();
$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($navarray[0]), RecursiveIteratorIterator::SELF_FIRST);
foreach ($it as $row) {       
/// ????
}

Thanks Arman.


Maybe you could modify the partial to render an ol instead of ul, and then use some CSS magic to render the numbering properly.

You can see the example #48 in the Menu Helper documentation to get some inspiration.

EDIT:

If you need to use the ul tag, then probably you'll need to add the "current depth" of the menu items by hand. There is a very similar question answered here: PHP RecursiveIteratorIterator: Determining first and last item at each branch level.

Hope that helps,

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜