Yii2高级使用别名从后端访问前端
我正在尝试使用别名从后端菜单访问前端/webYii2高级使用别名从后端访问前端,yii2,Yii2,我正在尝试使用别名从后端菜单访问前端/web yii:yii2高级 webserver:XAMPP IDE:netbean 我修改的代码: C:\xampp\htdocs\advanced\common\config\aliases.php Yii::setAlias('fronthome', dirname(dirname(__DIR__)) . '/frontend/web/'); C:\xampp\htdocs\advanced\backend\views\layouts\main.ph
yii:yii2高级
webserver:XAMPP
IDE:netbean
我修改的代码:
C:\xampp\htdocs\advanced\common\config\aliases.php
Yii::setAlias('fronthome', dirname(dirname(__DIR__)) . '/frontend/web/');
C:\xampp\htdocs\advanced\backend\views\layouts\main.php
if (Yii::$app->user->isGuest) {
$menuItems[] = ['label' => 'Login', 'url' => ['/site/login']];
$menuItems[] = ['label' => 'fronthome', 'url' => Yii::getAlias('@fronthome')];
但当通过后端菜单访问“fronthome”菜单时;浏览器正在返回url:
http://localhost/advanced/backend/web/C:/xampp/htdocs/advanced/frontend/web
我希望浏览器能提供:
http://localhost/advanced/frontend/web/
谁能帮我点灯吗。。。我搜索了一下,但通过alias找不到优雅的解决方案
谢谢
我通过做下面的更改使它工作
C:\xampp\htdocs\advanced\common\config\aliases.php
Yii::setAlias('fronthome', dirname(dirname(__DIR__)) . '/frontend/web/');
Yii::setAlias('fronthome',dirname(dirname(uu DIR_u))。/frontend/web/'代码>
到
Yii::setAlias('fronthome','../../frontend/web/')代码>尝试使用params.php
在common/config文件夹的params.php上添加一个键
'frontendUrl' => 'http://frontendUrl/',
然后,您可以通过以下方式访问视图中的任何位置:
<?= Yii::$app->params['frontendUrl'] ?>
希望这有帮助:)由于评论中的链接已经过时,这里是Yii2文档的一个片段:
创建从后端到前端的链接
通常需要创建从后端应用程序到前端应用程序的链接。由于前端应用程序可能包含其自己的URL管理器规则,您需要通过不同的命名为后端应用程序复制该规则:
返回[
“组件”=>[
“urlManager”=>[
//这是您正常的后端url管理器配置
],
“urlManagerFrontend”=>[
//这是您的前端URL管理器配置
],
],
];
//完成后,您可以获得指向前端的URL,如下所示:
echo Yii::$app->urlManagerFrontend->createUrl(…)代码>此处解释了如何从后端链接到前端: