我是yii框架的新手。在yii版本: 2.0.1 我创建了一个模块,我尝试使用 gii functionality
生成CRUD模型。模型类,控制器类和视图路径,当我点击生成gii显示所有文件已成功创建。
但当我试图查看时,下面的消息已显示给我,
视图文件不存在:
C:\xampp\htdocs\advanced\backend\modules\settings\views\companies\index.php
我发现web目录中的视图文件不在我输入的路径中。因此错误。
这是我对gii的输入,
模特课程:
backend\modules\settings\models\Companies
搜索模型类:
backend\modules\settings\models\CompaniesSearch
控制器类:
backend\modules\settings\controllers\CompaniesController
查看路径:
backend\modules\settings\views\companies
当我点击生成时,我已经给出了以下消息:
使用模板生成代码" C:\ xampp \ htdocs \ advanced \ vendor \ yiisoft \ yii2-gii \ generators \ crud / default" ...
生成的modules \ settings \ controllers \ CompaniesController.php
生成的modules \ settings \ models \ CompaniesSearch.php
生成后端\ modules \ settings \ views \ companies \ _form.php
生成后端\ modules \ settings \ views \ companies \ _search.php
生成后端\ modules \ settings \ views \ companies \ create.php
生成后端\ modules \ settings \ views \ companies \ index.php
生成后端\ modules \ settings \ views \ companies \ update.php
生成后端\ modules \ settings \ views \ companies \ view.php
完成!
有没有人知道为什么会这样。
提前致谢。
答案 0 :(得分:25)
我通过改变
解决了类似的问题backend\modules\settings\views\companies
进入
@backend/modules/settings/views/companies
希望将来可以帮助某人
答案 1 :(得分:2)
您错过了View Path
中的最后一个文件夹和别名。它应该是@backend\modules\settings\views
\ companies 。
正如您在创建日志中看到的那样,生成的文件位于错误的位置(root views
文件夹),这就是抛出错误的原因。
答案 2 :(得分:2)
有同样的问题。解决了输入@ backend / modules / settings / views / companies而不是backend \ modules \ settings \ views \ companies。 请参见斜杠。
答案 3 :(得分:1)
对于CRUD生成器中的视图路径,请输入绝对路径或完整路径。例如
/home/developer/workspace/advanced/backend/views/<your view folder>
答案 4 :(得分:1)
将其放入 VIEW PATH
@后端/模块/设置/视图/公司
已经完成了!
答案 5 :(得分:0)
我尝试过绝对路径i,e
C:/ XAMPP / htdocs中/先进/后端/模块/设置/视图/公司
它适用于绝对路径。
答案 6 :(得分:0)
我尝试通过输入: /应用/ XAMPP / htdocs中/先进/后端/模块/设置/视图/公司
我希望你能做得好。
答案 7 :(得分:0)
我正在使用高级主题
以下是我的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()
答案 8 :(得分:0)
以前,当我想获得绝对路径时将模型放到错误的目录中(因为它似乎更常用,所以要对其进行绝对寻址)-
app/backend/modules/settings
。
请注意开头的“ app”(/ app是Yii入门工具包中的主目录),我认为这会避免相对路径,但不能在该目录中,也不能使用@mail标记,但是相反,它确实相反-它以绝对长度相对地附加到/ document根目录,基本上是重复的,
"app/myproject.com/app/backend/modules/settings"
因此,它可以消除模型位置,
与模型相比,对于视图而言也很奇怪,它必须用@
相对参考符号注释(上面不允许在用于控制器或模型时使用)以不同的方式放在上部。写作)
@backend/modules/settings/views/companies
,否则将目录树附加到文档根目录中,并再次连接-后端backend/web (backend/modules/settings/views/companies)
的Web目录