SideNav在同一个窗口中打开页面(Yii2)

时间:2016-01-16 09:24:47

标签: yii2 navbar

我正在尝试使用SideNav URL在同一窗口中打开页面而不是重定向到不同的地方。我怎样才能做到这一点 ?当有人点击sidenav页面中的链接时,应该在同一个窗口中打开。

<?= SideNav::widget([
            'type' => SideNav::TYPE_DEFAULT,
            'heading' => 'Dashboard',
            'items' => [
                [
                    'url' => '#',
                    'label' => 'Purchase',
                    'icon' => 'home',
                     'items' => [
                         ['label' => 'Suppliers', 'icon'=>'glyphicon transport', 'url'=>'../site/about'],
                         ['label' => 'Leaf Entry', 'icon'=>'leaf', 'url'=>'#'],
                         ['label' => 'Payments', 'icon'=>'phone', 'url'=>'#'],
                         ['label' => 'Reports', 'icon'=>'phone', 'url'=>'#']
                        ],
                ],

上面的代码关于页面打开作为一个不同的窗口。我需要在同一个窗口打开。我该怎么做这个朋友?

enter image description here

1 个答案:

答案 0 :(得分:3)

在您的链接项中添加一个类,例如ajaxLoad,然后添加以下js代码:

$(document).on('click', '.ajaxLoad', function(e){
        e.preventDefault();
        $('#main-content').load($(this).attr('href'));
        return false;
});

假设您希望您的网页内容在ID为主要内容的容器div中呈现

这个想法是,js脚本将监听点击事件,当有人点击具有 ajaxLoad 类的链接时,它将获取它的href值并加载该页面内容在main-content div。

注意在您的控制器操作中,您必须使用 renderAjax 而不是render