为了覆盖Joomla核心文件,我创建了一个插件。代码如下:
jimport( 'joomla.plugin.plugin');
class plgSystemComContentOverride extends JPlugin {
public function __construct(&$subject, $config = array()) {
parent::__construct($subject, $config);
}
public function onAfterRoute() {
$app = JFactory::getApplication();
if('com_content' == JRequest::getCMD('option') && !$app->isAdmin()) {
require_once(dirname(__FILE__) . DS . 'comcontentoverride' . DS . 'my_content_controller.php');
}
}
}
任何人都可以看到为什么这不起作用或提供一些调试技巧?我甚至不能断定正在访问onAfterRoute()。
答案 0 :(得分:0)
这是一个命名约定问题。这对我来说似乎是一个反复出现的主题!在Joomla中似乎完全没有记录。据我所知,它需要是: 在驼峰的情况下,plg [插件的类型] [php文件的名称],使其复杂化。所以在我的例子中它将是:
class plgSystemCustomclassloader extends JPlugin
文件夹中的文件是customclassloader.xml和customclassloader.php