打开 (add/edit) 页面时如何在框架导航菜单中添加活动 class
how to add active class in framework nav menu when (add/edit) pages are opened
我正在使用 phalcon 框架。
我想在框架术语中打开子项时激活父菜单,
当打开 add/edit 个页面时,例如这是我的菜单:
/controller name/action name
Users /users
- admins /admins
->add admin page /admins/add
Sales
- managers /managers
->edit managers page /managers/edit
Inventory
所以当我打开添加管理页面时,即(website/admins/add)然后用户父级应该是打开的我怎样才能做到这一点..?
这是我的导航菜单页面:
<nav class="navbar-default navbar-static-side" role="navigation">
<div class="sidebar-collapse">
<ul class="nav metismenu" id="side-menu" >
<li class="nav-header" >
<a href="<?=$url->get('dashboard')?>" ></a>
</li>
<?php $check_menu=array();
foreach($this->session->get("auth")['menu'] as $m):?>
<?php if (!in_array($m['parent'], $check_menu)) { ?>
<li class=>
<a href="">
<i class="fa <?=strlen($m['icon'])?$m['icon']:'fa-th-large'?>"></i>
<span class="nav-label"><?=$m['parent']?></span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level collapse">
<?php
foreach($this->session->get("auth")['menu'] as $c):?>
<?php if($c['parent']==$m['parent']):?>
<li data-open="#admin_menu" class="child_menu
<?=$c['route']==$this->router->getControllerName()."/".
$this->router->getActionName() || $c['route']==$this->router->getControllerName().
$this->router->getActionName()?" open_me":""?> ">
<a href="<?=$url->get($c['route'])?>"><?=$c['name']?></a>
</li>
<?php endif;?>
<?php endforeach;
?>
</ul>
</li>
<?php } array_push($check_menu,$m['parent']);?>
<?php endforeach;?>
</ul>
</div>
</nav>
当前功能仅对管理员页面有效,我想实现"When Add admin page(admins/add) is opened at that time also Users parent should be open"
<?=$c['route']==$this->router->getControllerName()."/".$this->router->getActionName()
|| $c['route']==$this->router->getControllerName().$this->router->getActionName()
|| $c['route']==$this->router->getControllerName()?" open_me":""?> ">
我通过添加另一个或条件来仅检查控制器名称得到了一半的解决方案。
上面的示例仅适用于索引操作但是
有问题:
/users/ == users/adduser || usersadduser || users
/craigslist/campaigns == craigslist/addcampaign || craigslistaddcampaign || craigslist
第二种情况是它与其他操作一起出现,在那种情况下它不是working.so是否可以这样做。?
我正在使用 phalcon 框架。 我想在框架术语中打开子项时激活父菜单,
当打开 add/edit 个页面时,例如这是我的菜单:
/controller name/action name
Users /users
- admins /admins
->add admin page /admins/add
Sales
- managers /managers
->edit managers page /managers/edit
Inventory
所以当我打开添加管理页面时,即(website/admins/add)然后用户父级应该是打开的我怎样才能做到这一点..?
这是我的导航菜单页面:
<nav class="navbar-default navbar-static-side" role="navigation">
<div class="sidebar-collapse">
<ul class="nav metismenu" id="side-menu" >
<li class="nav-header" >
<a href="<?=$url->get('dashboard')?>" ></a>
</li>
<?php $check_menu=array();
foreach($this->session->get("auth")['menu'] as $m):?>
<?php if (!in_array($m['parent'], $check_menu)) { ?>
<li class=>
<a href="">
<i class="fa <?=strlen($m['icon'])?$m['icon']:'fa-th-large'?>"></i>
<span class="nav-label"><?=$m['parent']?></span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level collapse">
<?php
foreach($this->session->get("auth")['menu'] as $c):?>
<?php if($c['parent']==$m['parent']):?>
<li data-open="#admin_menu" class="child_menu
<?=$c['route']==$this->router->getControllerName()."/".
$this->router->getActionName() || $c['route']==$this->router->getControllerName().
$this->router->getActionName()?" open_me":""?> ">
<a href="<?=$url->get($c['route'])?>"><?=$c['name']?></a>
</li>
<?php endif;?>
<?php endforeach;
?>
</ul>
</li>
<?php } array_push($check_menu,$m['parent']);?>
<?php endforeach;?>
</ul>
</div>
</nav>
当前功能仅对管理员页面有效,我想实现"When Add admin page(admins/add) is opened at that time also Users parent should be open"
<?=$c['route']==$this->router->getControllerName()."/".$this->router->getActionName()
|| $c['route']==$this->router->getControllerName().$this->router->getActionName()
|| $c['route']==$this->router->getControllerName()?" open_me":""?> ">
我通过添加另一个或条件来仅检查控制器名称得到了一半的解决方案。
上面的示例仅适用于索引操作但是 有问题:
/users/ == users/adduser || usersadduser || users
/craigslist/campaigns == craigslist/addcampaign || craigslistaddcampaign || craigslist
第二种情况是它与其他操作一起出现,在那种情况下它不是working.so是否可以这样做。?