SideNav 打开页面相同 window (Yii2)

SideNav opening the page in the same window (Yii2)

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

中打开
<?= 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'=>'#']
                        ],
                ],

以上关于页面打开方式不同的代码 window。我需要在同一个 window 中打开。我该怎么做朋友?

在你的link项中添加一个class例如ajaxLoad,然后添加如下js代码:

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

假设您希望页面内容呈现在容器 div 中,容器的 ID 为 main-content

想法是,js 脚本将监听点击事件,当有人点击具有 ajaxLoad class 的 link 时,它会抓取href 它的值并在 main-content div.

中加载该页面内容

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