Тема CakePHP 3.0 по умолчанию для плагина

Все,

У меня есть следующая структура:

  • Main Application
    • Custom Theme Plugin
    • Плагин с AppController и другими контроллерами

Я использую плагин пользовательской темы для своего основного приложения, но второй плагин по умолчанию использует стандартную тему CakePHP. Есть ли способ указать, какую тему нужно использовать, не меняя файлы плагинов самой темы?

Спасибо за ваш вклад заранее.

Ответ был обнаружен после прочтения выбранного ответа ниже. Ответ был следующим У меня было следующее:

class PluginSystemPluginsController extends Controller

Это должно было быть:

class PluginSystemPluginsController extends AppController

Также AppController в моем плагине расширял Controller и должен быть

use App\Controller\AppController as BaseController;
class AppController extends BaseController 

person KaffineAddict    schedule 07.12.2015    source источник


Ответы (1)


Плагин AppController расширяет AppController вашего основного приложения. Вы можете изменить тему в главном приложении AppController.

public function beforeRender(\Cake\Event\Event $event)
{
    $this->viewBuilder()->theme('Modern');
}
person user3082321    schedule 08.12.2015
comment
Вот ссылка на мои плагины AppController. Интересно, это проблема маршрутизации в моем плагине, а не проблема с AppController, поскольку у меня все еще есть проблемы. - person KaffineAddict; 09.12.2015
comment
Вот ссылка на маршруты, может ли это вызвать проблему ? - person KaffineAddict; 09.12.2015
comment
AppController вашего плагина не подходит. Если у вас возникли проблемы, вы можете использовать bake для создания плагина. Он также создаст AppController плагина. book.cakephp.org/3.0/en/bake/usage.html - person user3082321; 09.12.2015
comment
Да, я видел это. Вы привели меня к ответу, и я отредактировал свой выше, чтобы показать, что я изменил. Еще раз спасибо! - person KaffineAddict; 10.12.2015