8

我是 yii 框架的新手。在 yii 版本:2.0.1我创建了一个模块,我尝试在其中使用gii functionality.
放置模型类、控制器类和视图路径后,单击生成 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”生成代码...

生成的模块\settings\controllers\CompaniesController.php

生成的模块\settings\models\CompaniesSearch.php

生成的后端\模块\设置\视图\公司\_form.php

生成的后端\模块\设置\视图\公司\_search.php

生成的后端\模块\设置\视图\公司\create.php

生成的后端\模块\设置\视图\公司\ index.php

生成的后端\模块\设置\视图\公司\update.php

生成的后端\modules\settings\views\companies\view.php

完毕!

有谁知道为什么会这样。

提前致谢。

4

9 回答 9

27

我通过改变解决了类似的问题

backend\modules\settings\views\companies

进入

@backend/modules/settings/views/companies

希望它可以帮助将来的人

于 2015-02-19T15:10:36.090 回答
2

您错过了最后一个文件夹和View Path. 它应该是@backend\modules\settings\views\companies

正如您在创建日志中看到的,生成的文件位于错误的位置(根views文件夹),这就是引发错误的原因。

于 2015-01-12T06:21:46.293 回答
2

有同样的问题。解决了输入 @backend/modules/settings/views/companies 而不是 backend\modules\settings\views\companies。见斜线。

于 2015-03-21T17:50:29.553 回答
1

对于 CRUD 生成器中的视图路径,输入绝对路径或完整路径。例如

/home/developer/workspace/advanced/backend/views/<your view folder> 
于 2015-04-08T08:02:19.933 回答
1

把它放在视图路径中

@后端/模块/设置/视图/公司

它完成了!

于 2017-06-16T06:23:44.517 回答
0

我尝试过使用绝对路径 i,e

C:/xampp/htdocs/advanced/backend/modules/settings/views/companies

它适用于绝对路径。

于 2015-01-14T11:25:45.630 回答
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()
于 2017-05-11T09:33:11.987 回答
0

以前,当想要实现绝对路径时,我将模型放入不正确的目录中(绝对解决它,因为它似乎更经常起作用) -

app/backend/modules/settings.

请注意开头的“应用程序”(/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)

于 2020-02-18T15:43:58.473 回答
0

我试过这是通过输入:/Applications/XAMPP/htdocs/advanced/backend/modules/settings/views/companies

我希望你能做好。

于 2016-07-27T07:48:14.987 回答