是否有可能在特定的URL中放置一些条件?

时间:2017-01-24 06:02:21

标签: php codeigniter

我在侧边栏中执行活动。管理员登录后(当然它将自动重定向到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"
        });
    }

1 个答案:

答案 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选择器为活动菜单项添加样式。