刚刚安装了yii2框架并使用它,但我似乎无法使用它来处理位于文件夹内的文件。
所有其他页面(索引,联系人,关于,索引等)都在views/site
文件夹中,但我在名为views
的{{1}}文件夹中添加了一个新文件夹,其中包含一个新文件夹视图称为blog
。
文件夹结构:
index.php
答案 0 :(得分:0)
Yii2根据名称匹配将视图目录设置为控制器。因此,您可以拥有一个名为BlogController的控制器,然后只需渲染索引视图:
class BlogController extends Controller
{
...
public function actionBlog() // OR public function actionIndex()
{
// not working
return $this->render('index');
}
}
答案 1 :(得分:0)
Yii2视图路径与@Saberi提到的控制器相关。看看docs
如果视图名称以单斜杠/开头,则视图文件路径为 通过在视图名称前加上当前视图路径的前缀来形成 活动模块。如果没有活动模块,@ app / views / ViewName将会 使用。例如,/ user / create将被解析为 @ app / modules / user / views / user / create.php,如果当前有效 模块是用户。如果没有活动模块,则视图文件路径会 是@ app / views / user / create.php。
所以最好的方法是创建一个BlogController,但是如果你真的需要,你可以通过$this->render('/blog/index')
从SiteController渲染 - 再次,不是真的推荐 - 甚至通过调用/重定向来实现这一点从SiteController到BlogController,它也可能变得混乱,但可能。
答案 2 :(得分:0)
使用该路径根本没有用,专门创建名为Blog
的控制器,只需添加
return $this->render('/blog/index')
在actionBlog()
。{/ p>中的新操作SiteController
内
请记住,如果您没有遵循使用Yii
和controllers
的{{1}}惯例,请在指定视图时启动带有view
尾随的路径,如果您不要添加尾部斜杠,它会尝试找到你在render方法中指定的路径
/
目录并添加尾部斜杠将从views/site
根目录进行搜索。