我正按照the book中的说明为我的cakePHP 2.x应用编写基本插件。
我使用MyPluginAppController.php和MyPluginAppModel.php创建了目录/文件结构。
我将CakePlugin::load('MyPlugin');
添加到父应用的bootstrap.php文件中。
然后我创建了一个Controller和Model。但出于某种原因,当我尝试查看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/
答案 0 :(得分:4)
重命名此文件
app/Plugin/MyPlugin/View/MyModel/admin_index.php
到此扩展程序.ctp
app/Plugin/MyPlugin/View/MyModel/admin_index.ctp
这是一个常见的错误。
答案 1 :(得分: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()
。一旦我删除它一切正常。