1
私はこのようなシンプルなナビゲーションメニューを持っている:zend navigationを使ってul要素にクラスを追加する方法は?
$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
またはli
にクラス/ IDをお尻はどうすればよいですか?
おかげ
編集:私は別の解決策を見つけた:
私はメニューが追加成り立つ方法で、その後
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
などを使用してください。 $コンテナがあなたのZend_Navigationオブジェクトである。この
$options['ulClass'] = 'foo';
<?php echo $this->menu($container)->renderMenu($container,$options); ?>
を試しULにクラスを追加するには
$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',
)
),
...