Overriding Joomla core component file

邮差的信 提交于 2020-01-10 01:48:06

问题


I am trying to override the com_content/views/article/view.html.php file in joomla using the instructions given in this page

It says I have to create a folder named 'code' in base directory and create the same directory structure. I tried it , but its not working. Can someone confirm whether its working.

Where should I create code folder? Is it on root of joomla installations?

PS- The edit is working correctly when applied on core file


回答1:


You can override (nearly) any class in Joomla, if your class with the same name is loaded first. To ensure that, you need to create a system plugin.

Here is an example for root/components/com_content/views/article/view.html.php:

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

CAVEAT: Overriding a core class can lead to problems with other extensions, if you're not very careful. For views, though, any interferrence with other extensions is less likely.




回答2:


You can't override component controllers, models and views in core Joomla! without using a 3rd party plugin.

The plugin you need can be found here: http://extensions.joomla.org/extensions/style-a-design/templating/15611

The code folder then goes into your Joomla root unless you're overriding a back-end view in which case it goes into /administrator

Hope this helps :)




回答3:


You can use the Class Overrider Plugin http://extensions.joomla.org/extensions/tools/development-tools/23994

just adding some simple human reading commands



来源:https://stackoverflow.com/questions/13763539/overriding-joomla-core-component-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!