Моя структура сайта — все пользовательские типы страниц с одной родительской страницей, которая простирается от Page.php.
class CustomPage extends Page {}
class Custom_Controller extends Page_Controller {
//load all javascript/css for entire site here etc
}class SomeClass extends CustomPage {}
class SomeClass_Controller extends Custom_Controller
{
// etc etc you get the point.
}
Каждая другая страница на сайте теперь начинается с CustomPage и Custom_Controller соответственно. Page.php практически пуст.
Теперь проблема возникает при использовании модулей, которые не написаны внутри. Например, модуль Blog * не будет наследовать javascripts / css / functions, определенные в новом базовом классе Custom_Controller, так как он настроен на расширение Page_Controller.
Какой идеальный метод здесь для того, чтобы в основном заставить Blog_Controller расширять Custom_Controller без изменения модуля Blog?
* Блог модуль является лишь примером. это относится ко всем модулям.
Краткий ответ на прямой вопрос
What is the ideal method here for basically making Blog_Controller extend Custom_Controller without modifying the Blog module?
в том, что это технически невозможно сделать. По сути, у вас есть два варианта;
init()
поведение, вам нужно пользовательское расширение, которое расширяет Extension
класс, и связан с Page_ControllerПроверьте в документация расширения для немного больше информации
Других решений пока нет …