3 回答
TA贡献1808条经验 获得超4个赞
您可以在小部件内呈现如下所示的视图,我views/site/about.php
在以下示例中使用该视图
echo \Yii::$app->view->render('@app/views/site/about');
您也可以使用别名或仅/site/about
在上一行中使用,但请注意开头/
很重要,以防您尝试从应用程序的view
文件夹加载视图,否则它将指向加载小部件的当前视图文件夹。
Yii2 可用的路径别名列表basic
和advanced-app
。
Yii2 基本应用
@app
:您的应用程序根目录@vendor
:您的根应用程序安装目录中的供应商目录@runtime
:您的应用程序文件运行时/缓存存储文件夹@web
:您的应用程序基本 url 路径@webroot
:您的应用程序网络根@tests
:您的控制台测试目录
Yii2 高级应用
@app
:您的应用程序根目录(前端或后端或控制台,取决于您从何处访问它)@vendor
:您的根应用程序安装目录中的供应商目录@runtime
:您的应用程序文件运行时/缓存存储文件夹@web
:您的应用程序基本 url 路径@webroot
:您的应用程序网络根@tests
:您的控制台测试目录@common
:根应用程序安装目录中公共根文件夹的别名@frontend
:根应用程序安装目录中前端根文件夹的别名@backend
:您的根应用程序安装目录中的后端根文件夹的别名@console
: 根应用程序安装目录中控制台根文件夹的别名
TA贡献2039条经验 获得超7个赞
除非您使用别名,否则 render 不会识别与其各自控制器无关的相对路径。
因此,如果您想使用相对于组件或小部件的路径,例如:
小部件/MyWidget/MyWidget.php
小部件/MyWidget/views/custom.php
在 MyWidget.php 中使用它:
$this->renderFile(dirname(__FILE__). '/widgets/custom.php' )
TA贡献2041条经验 获得超4个赞
问题是ftp和php用户有不同的组。
我通过ftp创建了文件,该文件的组与php用户开始时的组不同。
更改组widgets/custom.php
和目录组widgets
以适合php
并设置权限以0770
修复该问题
- 3 回答
- 0 关注
- 132 浏览
添加回答
举报