在我的电脑中,我在kartik sidenav
中设置了以下链接'url' => 'http://localhost:8080/advanced/frontend/web/index.php?r=batchno/productbatch/create',
'label' => 'New Batch',
'icon' => 'glyphicon glyphicon-plus-sign',
'visible'=>Yii::$app->user->can('c_billing-person'),
一切正常。但是在具有相同数据库设置的其他计算机中,它不起作用,因为我需要提供如下的URL
http://localhost/advanced/frontend/web/index.php?r=batchno/productbatch/create
所以区别在于端口。 我的问题是如何动态设置URL?
答案 0 :(得分:1)
使用yii2(包括kartik sidenav)设置网址的正确方法是基于Url Helper
use yii\helpers\Url;
$menuItems[] = ['label' => 'my_label', 'url'=>Url::to(['/your-controller/your-action'])];
在你的情况下
'url'=>Url::to(['/batchno/productbatch/create'])
Url Helper Url :: to功能为每个环境中的控制器操作提供corretc路由..