1

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->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.

Arman
  • 4,566
  • 10
  • 45
  • 66

1 Answers1

0

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,

Community
  • 1
  • 1
dinopmi
  • 2,683
  • 19
  • 24