脚本宝典收集整理的这篇文章主要介绍了php – Zend Navigation – 如果孩子处于活动状态,则将父级标记为活动状态,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<blog> <label>BLOG</label> <route>blog</route> <tITle>BLOG_TITLE</title> <pages> <blog-post> <route>blog-post</route> <visible>false</visible> </blog-article> <blog-category> <route>blog-category</route> <visible>false</visible> </blog-category> </pages> </blog>
很明显,如果像blog-post这样的子路由处于活动状态,我会将页面博客标记为活动状态.不使用子页面(我不想要),它不会这样做.因此,如果有一种方法可以标记路由名称博客以及所有以博客开头的路由(例如:blog-post,blog-category,blog-author),那将非常有用!
我的菜单条目如下所示:
array( 'label' => 'CMS-nav_users','access_module' => 'user','resource' => 'user_admin','route' => 'admin_user','pages' => array( array( 'label' => 'cms-nav_companies','route' => 'company_admin','resource' => 'company_admin',),array( 'label' => 'cms-nav_users-list','access_module' => 'company',
我想出了一个基于我自己的菜单模板(部分)的解决方案.基本上有一个foreach循环,它检查是否有任何子页面是活动的,如果有一个 – 将父标记为活动,它看起来像这样:
$active = false; if (!empty($page->pages)) { foreach ($page->pages as $subpage) { if ($subpage->isActive()) $active = true; } } $htML[] = ($active) ? 'class="active"' : '';
希望它可以帮助别人:)
UPDATE
实际上我发现你可以使用Zend Framework自己的isActive()和true参数,如源代码所示:
Zend_Navigation_Page_Mvc::isActive($recursive = false)
两种方式都可行,但这种方式更合适.
以上是脚本宝典为你收集整理的php – Zend Navigation – 如果孩子处于活动状态,则将父级标记为活动状态全部内容,希望文章能够帮你解决php – Zend Navigation – 如果孩子处于活动状态,则将父级标记为活动状态所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。