1

我正在从数据库记录生成 XML,然后将其提供给 Zend_Navigation 以将其呈现为树视图,并且在呈现之前我想添加级别编号,例如 TOC 编号:

我有:

$partial = array('partials/menu.phtml', 'default');
$this->navigation()->menu()->setPartial($partial);
echo $this->navigation()->menu()->setUlClass('treeview')->render();

输出用 ul/li 装饰(我需要 ul 用于树视图):

My First Web Page
     Nice Page
           Main Help
     Works

但是我需要:

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

我怎样才能用数字来装饰每个级别?

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

谢谢阿曼。

4

1 回答 1

0

也许您可以修改部分以呈现 anol而不是ul,然后使用一些CSS 魔术来正确呈现编号。

您可以在Menu Helper 文档中查看示例 #48以获得一些灵感。

编辑:

如果您需要使用ul标签,那么您可能需要手动添加菜单项的“当前深度”。这里回答了一个非常相似的问题:PHP RecursiveIteratorIterator: Determining first and last item at each branch level

希望有帮助,

于 2011-09-06T11:57:53.617 回答