覆盖Joomla核心组件文件

Aji*_*ith 9 joomla joomla2.5

我试图使用此页面中给出的说明覆盖joomla中的com_content/views/article/view.html.php文件

它说我必须在基目录中创建一个名为'code'的文件夹,并创建相同的目录结构.我尝试过,但它不起作用.有人可以确认它是否有效.

我应该在哪里创建代码文件夹?它是joomla安装的根源吗?

PS-编辑在核心文件上应用时正常工作

nib*_*bra 6

如果首先加载具有相同名称的类,则可以覆盖(几乎)Joomla中的任何类.为确保这一点,您需要创建一个系统插件.

以下是root/components/com_content/views/article/view.html.php的示例:

class plgSystemOverride extends JPlugin
{
    public function onAfterRoute()
    {
        JLoader::register('ContentViewArticle', 'path/to/override.php', true);
    } 
}
Run Code Online (Sandbox Code Playgroud)

CAVEAT:如果你不是很小心,覆盖核心类会导致其他扩展的问题.但是,对于视图,与其他扩展的任何干扰都不太可能.


Ada*_*m B 1

您无法覆盖核心 Joomla! 中的组件控制器、模型和视图。不使用第 3 方插件。

您需要的插件可以在这里找到:http://extensions.joomla.org/extensions/style-a-design/templatating/15611

然后,代码文件夹将进入您的 Joomla 根目录,除非您覆盖后端视图,在这种情况下,代码文件夹将进入 /administrator

希望这可以帮助 :)