Как автоматически загрузить собственное представление в плагине в cakephp?Php

Кемеровские программисты php общаются здесь
Anonymous
Как автоматически загрузить собственное представление в плагине в cakephp?

Сообщение Anonymous »

Здесь я разработал наносистему для публикации мыслей в дневнике, очень простую, но функциональную для нужд. Содержимое находится в структуре Json, и потребуется изменить эстетику дневника с помощью тем. Таким образом, я создал собственное представление, которое загружает json, преобразует его в HTML, берет выбранную пользователем тему, отображает ее и отправляет в браузер.
Благодаря возможности имея бесчисленное количество тем, я решил создать каталог в /src с именем themes, и внутри него каждый каталог представляет собой отдельную тему с содержимым, имеющим ту же структуру, что и каталог /templates в cakephp.
Все работает отлично. Но из-за необходимости развернуть его и на существующем веб-сайте cakephp я решил преобразовать его в плагин cakephp. Я скачал этот плагин. Я настроил маршруты mysite.com/diary/ для этого плагина. Таким образом, система дневников работает нормально, пока не возникнет ошибка, требующая от меня вернуть персональную страницу с ошибкой, которая находится в выбранной теме.
Раньше она работала нормально, если таковая была. ошибка, он загрузит определенный шаблон в каталоге /Error выбранной темы для отображения сообщения. Но как плагин, при возникновении ошибки, cakephp игнорирует мое пользовательское представление и показывает ошибки в каталоге /templates или в самом ядре.
В плагине я загружаю представление с помощью:

Код: Выделить всё

$this->viewBuilder()->setClassName('diary.myview');
Раньше это было представление AppView.php с настраиваемым рендерингом.
И, возможно, в этом вся суть. В плагине мне нужно указать вид, но в основном приложении вид загружается автоматически. И я не хотел ничего менять в представлении ядра по умолчанию или в самом /src/view/AppView.php, потому что там работает что-то еще. Идея состоит в том, что все должно быть изолировано внутри плагина.

Подробнее здесь: https://stackoverflow.com/questions/787 ... in-cakephp

Вернуться в «Php»