Intereting Posts

Плагин CakePHP выдает ошибку «Отсутствует вид», но просмотр файлов

Я пишу основной плагин для моего приложения 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

URL: http://mysite.dev/admin/my_plugin/my_model/

Переименуйте этот файл

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

К этому расширению .ctp

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

Это распространенная ошибка.

Я не использовал плагин, поэтому мой случай был немного другим. Однако этот вопрос появляется на странице результатов поиска, поэтому я опубликую здесь.

Это проблемный контроллер.

 <?php class ArticlesController extends AppController { public function beforeFilter() { } public function view() { // do stuff } } 

Проблема:

CakePHP продолжал показывать мне следующую ошибку:

Отсутствует вид

Ошибка: вид для статьиController :: view () не найден.

Подтвердите, что вы создали файл: Articles / view.ctp одним из следующих путей:

Отладка:

Я проверил все пути, которые он предложил, используя is_readable() и команду stat чтобы убедиться, что файл представления существует и действительно читается PHP.

Решение:

Проблема заключается в пустой beforeFilter() . Как только я удалил все, все сработало.