CakePHP Media Plugin Помощник проблема - PullRequest
0 голосов
/ 17 февраля 2011

Я пытаюсь отобразить загруженное изображение с помощью Media Plugin из CakePHP.

Я добавил помощника в массив помощников контроллера: var $helpers = array('Media.Media');. Тогда, на мой взгляд, у меня есть этот код: echo $media−>file($news['Attachment'][0]['dirname'].DS.$news['Attachment'][0]['basename']);. Но проблема в том, что он выводит эту ошибку:

Undefined variable: media− [APP/views/news/view.ctp, line 3]

В чем может быть проблема?

Кстати, если у плагина есть модель User в app / plugin / users / models / user.php и я создаю новую модель с именем User в папке app / models, какая из них будет загружена?

Заранее спасибо за любую помощь!

1 Ответ

1 голос
/ 17 февраля 2011

Прежде всего, если вы используете 1.3.x, обратитесь к помощникам через $ this-> HelperName-> method (), в каком-то методе может быть установлена ​​переменная с именем $ media.Вы можете проверить это, выполнив var_dump ($ media);

Другой вариант - возможно, что-то сброшено.Очень странно, что у вас установлен помощник, но переменная не установлена.Это также может быть связано с добавлением массива $ helpers не к тому контроллеру, вы можете попробовать добавить его в app_controller и посмотреть, работает ли он.если это так, у вас это не в том месте.

Если я правильно понял ваш второй вопрос, и мы говорим об автоматической загрузке, контроллер плагина сначала будет искать модель в своем собственном каталоге плагинов, если онесли он не найден, он вернется в каталог app / models.

, если вы загружаете его вручную через массив $ использовании, это зависит от версии торта и от того, как вы это делаете.В предыдущих версиях 1.x даже $ использует = массив ('Пользователь');будет загружать модель плагина, так как торт будет автоматически добавлять префикс плагина.Это изменилось для 2.0 afaik.

Для других методов загрузки модели, таких как $ this-> loadModel ('User);будет загружаться из app / models, а $ this-> loadModel ('PluginName.User') будет загружаться из директории app / plugins / plugin_name / models.

Редактировать: вы правы, что смешно с показом ошибки$ media- и тут есть проблема.Вы скопировали этот код с какого-то сайта?- нет - в коде есть символ utf8, на который он жалуется.

...