我在侧边栏中执行活动。管理员登录后(当然它将自动重定向到localhost:/ xxx / Admin / index或localhost:/ xxx / Admin /)并且活动在仪表板中。 当管理员点击用户管理(它将重定向到localhost:/ xxx / Admin / UserAccount)时,活动将被更改为用户管理/ ..问题是,是否可以制作if语句,何时具体网址是/ this?
查看
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
function highlight_menu($menu_item, $has_routes = FALSE)
{
$CI = get_instance();
if(! $has_routes) // activate only if the exact URL is found
return (uri_string()==$menu_item) ? 'active-menu':'';
$controller = strtolower($CI->router->fetch_class());// get controller name
$method = strtolower($CI->router->fetch_method()); // get method name
return (strtolower($menu_item) == $controller."/".$method) ? 'active-menu' : ''; // activate only if the controller and method matches
}
?>
Common Helper
this.saveUsers = function (users) {
debugger;
return $http({
method: 'post',
data: users,
url: "Users",
contentType: "application/json"
});
}
答案 0 :(得分:1)
以下代码行将帮助您根据当前网址突出显示菜单项。为了简单和可重用,我将其作为辅助函数添加到我的帮助文件中。 (我已经在application / helpers / common_helper.php中添加了一个帮助文件,并在应用程序启动时自动加载它)
在此处阅读有关帮助函数的更多信息
https://www.codeigniter.com/userguide3/general/helpers.html
function highlight_menu($menu_item, $has_routes = FALSE)
{
$CI = get_instance();
if(! $has_routes) // activate only if the exact URL is found
return (uri_string()==$menu_item) ? 'active-menu':'';
$controller = strtolower($CI->router->fetch_class());// get controller name
$method = strtolower($CI->router->fetch_method()); // get method name
return (strtolower($menu_item) == $controller."/".$method) ? 'active-menu' : ''; // activate only if the controller and method matches
}
然后在您的视图中,添加类似
的菜单项<ul>
<li class="menu_item">
<a class="menu-class <?php echo highlight_menu('controller/method_name', TRUE);?>" href="<?php echo base_url('controller/method_name');?>">Menu Item</a>
</li>
</ul>
在CSS中,使用.active-menu
选择器为活动菜单项添加样式。