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',
        )
    ),
...

これにより生成されます:

ul
  li
  li

ulまたは にクラス / ID を割り当てるにはどうすればよい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;
}

次に、メニューを保持するメソッドに次を追加します。

    $view = Zend_Layout::getMvcInstance()->getView();

$menu = self::htmlify($container, 'navigation');

    $view->menu = $menu;
    return $menu;

私のクラスには静的メソッドがありecho class::method、ビューに表示する必要があります。それ以外の場合は、通常の$this->menuものなどを使用してください。

次に、次のように使用できます。

$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',
        )
    ),
...
4

1 に答える 1

1

ul にクラスを追加するには、これを試してください

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

<?php echo $this->menu($container)->renderMenu($container,$options); ?>

$container は Zend_Navigation オブジェクトです。

于 2012-04-24T04:29:52.913 に答える