【发布时间】:2023-03-18 00:35:01
【问题描述】:
我正在尝试通过 Action 渲染视图,但 yii2 向我抛出了一个错误。我已经尝试调试它,但我没有找到任何东西。这是我的代码: 控制器:
<?php
namespace app\controllers;
use yii\web\Controller;
class CalculatorController extends Controller
{
public function actions()
{
return [
'show' => 'app\controllers\frontend\calculator\ShowAction',
];
}
}
动作:
<?php
namespace app\controllers\frontend\calculator;
use yii\base\Action;
class ShowAction extends Action
{
public function run()
{
return $this->controller->render('frontend/calculator/show');
}
}
观点:
<?php
namespace app\controllers\frontend\calculator;
use yii\base\Action;
class ShowAction extends Action
{
public function run()
{
return $this->controller->render('frontend/calculator/show');
}
}
错误:
未找到视图 – yii\base\ViewNotFoundException 视图文件不存在:C:\xampp\htdocs\basic\views\calculator\frontend/calculator/show.php
但视图的正确路径是:
C:\xampp\htdocs\basic\views\frontend/calculator/show.php
我不知道额外的“计算器”是从哪里来的。提前谢谢你!
编辑:所以如果我在视图路径之前输入 ../ 它正在工作。但我还是想知道为什么会发生这种奇怪的事情......
【问题讨论】:
-
您能澄清一下您在这里要做什么吗?您的代码不像标准的 Yii2 MVC 模式。此外,在您的路径中,您同时拥有“基本”和“前端”,听起来您可能正在尝试使用基本模板和高级模板之间的某种混合?