php - Yii2 - 位于子文件夹中的渲染视图
问题描述
我正在使用 Yii2,我想知道哪种方法是从控制器呈现位于视图目录中子文件夹中的文件的正确方法。例如,我有以下情况:
views
-campus (carpeta)
--actividad (subcarpeta)
---2020.php (vista)
到目前为止,我已经尝试过这个选项,但没有成功:
return $this->render('/actividad/2020',[]);
return $this->render('/actividad/2020',[],$this->context);
return $this->render('2020',[],$this->context);
return $this->render('@app/views/campus/actividad/2020',[]);
return $this->render('//actividad/2020',[]);
我的控制器CampusController
:
<?php
namespace frontend\controllers;
class CampusController extends \yii\web\Controller
{
public function action2020()
{
return $this->render('actividad/2020');
//return $this->render('/campus/actividad/2020');
//return $this->render('//campus/actividad/2020');
//return $this->render('@app/views/campus/actividad/2020');
}
}
解决方案
如果您在CampusController
,想要渲染2020.php
,并拥有您在问题中显示的文件夹结构:
views
-campus (carpeta)
--actividad (subcarpeta)
---2020.php (vista)
以下所有方法都可以:
return $this->render('actividad/2020');
return $this->render('/campus/actividad/2020');
return $this->render('//campus/actividad/2020');
return $this->render('@app/views/campus/actividad/2020');
如果你没有向视图传递任何参数,你可以传递一个空数组,但你也可以删除第二个参数。
您确实需要返回 的结果$this->render(...)
,在您的问题中,看起来您正在调用 return after,这将返回一个空响应,而不是呈现视图文件的结果。
推荐阅读
- python - Python 多处理(ForkAwareLocal,FileNotFoundError) - 对于许多进程来说,主线程过早关闭
- websocket - 使用 resgate.io (websockets) 模型“更改”不会触发带有钩子和 mobx 的 React 项目中的重新渲染
- json - 找不到类 io.confluent.kafka.serializers.json.KafkaJsonSchemaSerializer
- python-3.x - 将一个数据框的一列的每个值与另一个数据框的一列的值匹配(如果后者存在)
- toloka - 为 Toloka.ai 任务提供资产的存储
- c# - 如何在 .NET Core 3.1 中对签名进行 DER 编码?
- django-rest-framework - Django rest 按字段过滤数据
- python-3.x - Dom Traversal 与 lxml 进入图数据库并传递 ID 以建立完整的树
- javascript - 解释 chrome 扩展的 background.js 中的十六进制变量
- laravel - Lavachart - 无法设置 null 的“样式”属性