我的网站结构是所有自定义页面类型,其中单个父页面从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 *模块不会继承新基类Custom_Controller中定义的javascripts / css / functions,因为它被设置为扩展Page_Controller。
这里有什么理想的方法可以让Blog_Controller在不修改Blog模块的情况下扩展Custom_Controller?
*博客模块只是一个例子。这适用于所有模块。
答案 0 :(得分:4)
直接问题的简短回答
What is the ideal method here for basically making Blog_Controller extend Custom_Controller without modifying the Blog module?
是技术上不可能做到的。实际上你有两个选择;
init()
行为的特定情况,您需要一个扩展Extension
类的自定义扩展,并绑定到Page_Controller 查看the extension documentation了解更多信息