Php 如何使用zend导航向ul元素添加类?

Php 如何使用zend导航向ul元素添加类?,php,zend-framework,class,zend-navigation,Php,Zend Framework,Class,Zend Navigation,我有一个简单的导航菜单,如下所示: $container = new Zend_Navigation(); $container->addPage(array( 'label' => 'Page 1', 'uri' => 'page-1', 'foo' => 'bar', 'pages' => array( array( 'label' => 'Page 1.1',

我有一个简单的导航菜单,如下所示:

$container = new Zend_Navigation();
$container->addPage(array(
    'label' => 'Page 1',
    'uri'   => 'page-1',
    'foo'   => 'bar',
    'pages' => array(
        array(
            'label' => 'Page 1.1',
            'uri'   => 'page-1.1',
            'foo'   => 'bar',
        ),
        array(
            'label' => 'Page 1.2',
            'uri'   => 'page-1.2',
            'class' => 'my-class',
        )
    ),
...
$container = new Zend_Navigation();
$container->addPage(array(
    'label' => 'Page 1',
    'uri'   => 'page-1',
    'foo'   => 'bar',

    'htmlfyId' => 'testing',
    'htmlfyClass' => 'test',

    'pages' => array(
        array(
            'label' => 'Page 1.1',
            'uri'   => 'page-1.1',
            'foo'   => 'bar',
        ),
        array(
            'label' => 'Page 1.2',
            'uri'   => 'page-1.2',
            'class' => 'my-class',
        )
    ),
...
这将产生:

ul
  li
  li
如何将类/id分配给
ul
li

有什么想法吗

谢谢

编辑:我找到了不同的解决方案:

我使用这个函数

public static function htmlify($container, $menu_name = null)
{
    $i = 0;
    $menu = '<ul class="'.$menu_name.'">';
    foreach($container as $page)
    {
        $menu .= '<li id="'.$page->htmlfyId.'"><a id="menu-'.$page->id.'" class="'.$page->class.'" href="'.$page->uri.'">'.$page->label.'</a>';
        $menu .= '<ul id="'.$page->htmlfyClass.'">';

        foreach($page as $pages)
        {
            $menu .= '<li id="li"><a class="'.$page->class.'" href="'.$pages->uri.'">'.$pages.'</a></li>';
        }
        $menu .= '</li>';
        $menu .= '</ul>';
    }
return $menu;
}
我的类有静态方法,你必须在视图中使用
echo class::method
,否则只需使用常规的
$this->menu
或其他什么

然后你可以这样使用它:

$container = new Zend_Navigation();
$container->addPage(array(
    'label' => 'Page 1',
    'uri'   => 'page-1',
    'foo'   => 'bar',
    'pages' => array(
        array(
            'label' => 'Page 1.1',
            'uri'   => 'page-1.1',
            'foo'   => 'bar',
        ),
        array(
            'label' => 'Page 1.2',
            'uri'   => 'page-1.2',
            'class' => 'my-class',
        )
    ),
...
$container = new Zend_Navigation();
$container->addPage(array(
    'label' => 'Page 1',
    'uri'   => 'page-1',
    'foo'   => 'bar',

    'htmlfyId' => 'testing',
    'htmlfyClass' => 'test',

    'pages' => array(
        array(
            'label' => 'Page 1.1',
            'uri'   => 'page-1.1',
            'foo'   => 'bar',
        ),
        array(
            'label' => 'Page 1.2',
            'uri'   => 'page-1.2',
            'class' => 'my-class',
        )
    ),
...

要在ul上添加类,请尝试以下操作

$options['ulClass'] = 'foo';

<?php echo $this->menu($container)->renderMenu($container,$options); ?>
$options['ulClass']='foo';

其中$container是您的Zend_导航对象。

要在ul上添加类,请尝试以下操作

$options['ulClass'] = 'foo';

<?php echo $this->menu($container)->renderMenu($container,$options); ?>
$options['ulClass']='foo';
其中$container是Zend_导航对象