我的任务很简单。我必须从后端控制器渲染前端视图。到目前为止我所做的是urlManagerFrontendView在我的中创建路径main.php:
'urlManagerFrontendView' => [
'class' => 'yii\web\urlManager',
'baseUrl' => $_SERVER['DOCUMENT_ROOT'] . '/frontend/view/',
'enablePrettyUrl' => true,
'showScriptName' => false,
],
Run Code Online (Sandbox Code Playgroud)
这就是我尝试渲染它的方式(从后端):
return $this->render(''.Yii::$app->urlManagerFrontendView->baseUrl.'page/product', [
'model' => $product,
'product_rel' => $product_rel,
'thispage' => $thispage,
]);
Run Code Online (Sandbox Code Playgroud)
但我得到的是一个错误:
The view file does not exist: /home/projects/tashev-online/htdocs/backend/views/home/projects/tashev-online/htdocs/frontend/viewpage/product.php
Run Code Online (Sandbox Code Playgroud)
显然我没有正确创建它:)那么你们能帮助我解决我的问题吗?到达前端的正确方法是什么?先感谢您!
在这种情况下,您不必对 UrlManager 执行任何操作。只需使用相对路径调用视图(像这样或类似的):
return $this->render('../../../frontend/views/page/product', ...
Run Code Online (Sandbox Code Playgroud)