0

我正在按照书中的说明为我的 cakePHP 2.x 应用程序编写一个基本插件。

我用 MyPluginAppController.php 和 MyPluginAppModel.php 创建了目录/文件结构。

我添加CakePlugin::load('MyPlugin');到父应用程序的 bootstrap.php 文件中。

然后我创建了一个控制器和模型。但由于某种原因,当我尝试查看时mysite.dev/(admin)/my_plugin/my_model/出现“缺少视图”错误。它说要确认视图文件存在,它确实存在!

我不认为我跳过了书中的任何步骤。我究竟做错了什么?

更新:

控制器路径:app/Plugin/MyPlugin/Controller/MyModelController.php

查看路径:app/Plugin/MyPlugin/View/MyModel/admin_index.php

网址:http://mysite.dev/admin/my_plugin/my_model/

4

2 回答 2

4

重命名此文件

app/Plugin/MyPlugin/View/MyModel/admin_index.php

到这个扩展.ctp

app/Plugin/MyPlugin/View/MyModel/admin_index.ctp

这是一个常见的错误。

于 2013-06-04T15:19:12.573 回答
0

我没有使用插件,所以我的情况有点不同。但是,这个问题出现在搜索结果页面上,所以我会在这里发布。

这是有问题的控制器。

<?php 

class ArticlesController extends AppController {

    public function beforeFilter() {
    }

    public function view() {
        // do stuff
    }

}

问题:

CakePHP 不断向我显示以下错误:

缺少视图

错误:未找到 ArticlesController::view() 的视图。

确认您已在以下路径之一中创建了文件:Articles/view.ctp:

调试:

我检查了它建议使用is_readable()的所有路径和stat命令,以确保视图文件存在并且确实可以被 PHP 读取。

解决方案:

那里的问题是空的beforeFilter()。一旦我删除它,一切正常。

于 2016-11-29T18:18:34.193 回答