Yii 2 gii 在不同的目录中生成视图文件
Yii 2 gii is generating view files on different directory
我是 yii 框架的新手。在 yii 版本:2.0.1 我创建了一个模块,我在其中尝试使用 gii functionality
.
放置模型 class、控制器 class 和查看路径后,当我点击生成 gii 时显示所有文件已成功创建。
但是当我尝试查看时,我看到了以下消息,
查看文件不存在:
C:\xampp\htdocs\advanced\backend\modules\settings\views\companies\index.php
我在web目录中发现视图文件不在我输入的路径中。因此错误。
这是我对 gii 的输入,
型号Class:
backend\modules\settings\models\Companies
搜索模型Class:
backend\modules\settings\models\CompaniesSearch
控制器Class:
backend\modules\settings\controllers\CompaniesController
查看路径:
backend\modules\settings\views\companies
当我点击生成时,我给出了以下消息:
Generating code using template "C:\xampp\htdocs\advanced\vendor\yiisoft\yii2-gii\generators\crud/default"...
generated modules\settings\controllers\CompaniesController.php
generated modules\settings\models\CompaniesSearch.php
generated backend\modules\settings\views\companies\_form.php
generated backend\modules\settings\views\companies\_search.php
generated backend\modules\settings\views\companies\create.php
generated backend\modules\settings\views\companies\index.php
generated backend\modules\settings\views\companies\update.php
generated backend\modules\settings\views\companies\view.php
done!
有没有人知道为什么会这样。
提前致谢。
您在 View Path
中遗漏了最后一个文件夹和别名。应该是 @backend\modules\settings\views
\companies.
如您在创建日志中所见,生成的文件位于错误的位置(根 views
文件夹),这就是引发错误的原因。
我试过绝对路径 i,e
C:/xampp/htdocs/advanced/backend/modules/settings/views/companies
它适用于绝对路径。
我通过更改解决了类似的问题
backend\modules\settings\views\companies
进入
@backend/modules/settings/views/companies
希望对以后的人有所帮助
有同样的问题。解决了输入 @backend/modules/settings/views/companies 而不是 backend\modules\settings\views\companies。
请参阅斜线。
对于 CRUD 生成器中的视图路径,请输入绝对路径或完整路径。例如
/home/developer/workspace/advanced/backend/views/<your view folder>
我通过输入以下内容尝试了此方法:
/Applications/XAMPP/htdocs/advanced/backend/modules/settings/views/companies
希望你能做好。
我使用的是高级主题
这是我的 Gii 设置,以防对任何人有帮助
module generator
----------------
module class: backend\modules\posts\Module
module id: posts
model generator
---------------
table name: posts
model class: Posts
namespace: backend\modules\posts\models
Enable I18n: checked. category: app
CRUD generator
--------------
Model class: backend\modules\posts\models\Posts
Search model class: backend\modules\posts\models\PostsSearch
Controller class: backend\modules\posts\controllers\PostsController
View path: @backend/modules/posts/views/posts
Enable I18n: checked. category: app
Enable pjax: checked
If you are using some non-default user management (like amnah module),
you need to change Users::className() in the models\Posts.php to
\amnah\yii2\user\models\User::className()
将其放入 VIEW PATH
@backend/modules/settings/views/companies
大功告成!
以前我在想要实现绝对路径时将模型放入错误的目录(绝对解决它,因为它似乎更经常起作用)-
app/backend/modules/settings
。
注意开头的 'app'(/app 是 Yii 初学者工具包中的主目录),我认为它可以避免相对路径,但不能在那里,也不能有 @mail 符号,但恰恰相反, 它做了相反的事情 - 它将它的绝对长度相对附加到 /document 根目录,基本上复制了它,
"app/myproject.com/app/backend/modules/settings"
所以它从模型位置展开,Gii 投诉的原因 关于不正确的路径或者控制器也以不正确的方式放置。
对于与模型对比的视图来说,同样奇怪的是,它必须用 @
相对参考符号注释以不同的方式放置上面提到的(不允许在控制器或模型中使用)写作时间)
@backend/modules/settings/views/companies
,否则将目录树附加到文档根目录中,再次连接-后端的web目录backend/web (backend/modules/settings/views/companies)
我是 yii 框架的新手。在 yii 版本:2.0.1 我创建了一个模块,我在其中尝试使用 gii functionality
.
放置模型 class、控制器 class 和查看路径后,当我点击生成 gii 时显示所有文件已成功创建。
但是当我尝试查看时,我看到了以下消息,
查看文件不存在:
C:\xampp\htdocs\advanced\backend\modules\settings\views\companies\index.php
我在web目录中发现视图文件不在我输入的路径中。因此错误。
这是我对 gii 的输入,
型号Class:
backend\modules\settings\models\Companies
搜索模型Class:
backend\modules\settings\models\CompaniesSearch
控制器Class:
backend\modules\settings\controllers\CompaniesController
查看路径:
backend\modules\settings\views\companies
当我点击生成时,我给出了以下消息:
Generating code using template "C:\xampp\htdocs\advanced\vendor\yiisoft\yii2-gii\generators\crud/default"...
generated modules\settings\controllers\CompaniesController.php
generated modules\settings\models\CompaniesSearch.php
generated backend\modules\settings\views\companies\_form.php
generated backend\modules\settings\views\companies\_search.php
generated backend\modules\settings\views\companies\create.php
generated backend\modules\settings\views\companies\index.php
generated backend\modules\settings\views\companies\update.php
generated backend\modules\settings\views\companies\view.php
done!
有没有人知道为什么会这样。
提前致谢。
您在 View Path
中遗漏了最后一个文件夹和别名。应该是 @backend\modules\settings\views
\companies.
如您在创建日志中所见,生成的文件位于错误的位置(根 views
文件夹),这就是引发错误的原因。
我试过绝对路径 i,e
C:/xampp/htdocs/advanced/backend/modules/settings/views/companies
它适用于绝对路径。
我通过更改解决了类似的问题
backend\modules\settings\views\companies
进入
@backend/modules/settings/views/companies
希望对以后的人有所帮助
有同样的问题。解决了输入 @backend/modules/settings/views/companies 而不是 backend\modules\settings\views\companies。 请参阅斜线。
对于 CRUD 生成器中的视图路径,请输入绝对路径或完整路径。例如
/home/developer/workspace/advanced/backend/views/<your view folder>
我通过输入以下内容尝试了此方法: /Applications/XAMPP/htdocs/advanced/backend/modules/settings/views/companies
希望你能做好。
我使用的是高级主题
这是我的 Gii 设置,以防对任何人有帮助
module generator
----------------
module class: backend\modules\posts\Module
module id: posts
model generator
---------------
table name: posts
model class: Posts
namespace: backend\modules\posts\models
Enable I18n: checked. category: app
CRUD generator
--------------
Model class: backend\modules\posts\models\Posts
Search model class: backend\modules\posts\models\PostsSearch
Controller class: backend\modules\posts\controllers\PostsController
View path: @backend/modules/posts/views/posts
Enable I18n: checked. category: app
Enable pjax: checked
If you are using some non-default user management (like amnah module),
you need to change Users::className() in the models\Posts.php to
\amnah\yii2\user\models\User::className()
将其放入 VIEW PATH
@backend/modules/settings/views/companies
大功告成!
以前我在想要实现绝对路径时将模型放入错误的目录(绝对解决它,因为它似乎更经常起作用)-
app/backend/modules/settings
。
注意开头的 'app'(/app 是 Yii 初学者工具包中的主目录),我认为它可以避免相对路径,但不能在那里,也不能有 @mail 符号,但恰恰相反, 它做了相反的事情 - 它将它的绝对长度相对附加到 /document 根目录,基本上复制了它,
"app/myproject.com/app/backend/modules/settings"
所以它从模型位置展开,Gii 投诉的原因 关于不正确的路径或者控制器也以不正确的方式放置。
对于与模型对比的视图来说,同样奇怪的是,它必须用 @
相对参考符号注释以不同的方式放置上面提到的(不允许在控制器或模型中使用)写作时间)
@backend/modules/settings/views/companies
,否则将目录树附加到文档根目录中,再次连接-后端的web目录backend/web (backend/modules/settings/views/companies)