Joomla 3.1 覆盖库

2022-01-06 00:00:00 overriding php html joomla

我有一个 Joomla 3 网站并且想要覆盖

I have a Joomla 3 website and want to override

libraries/cms/html/html.php.

有可能吗?

我尝试使用此处描述的相同技术如何覆盖Joomla 系统消息 - message.php 模板

I tried to use same technique described here How to override Joomla System Messages - message.php template

我把我的 html.php 文件放在 templates/MY_TEMPLATE/html/html.php

I put my html.php file in templates/MY_TEMPLATE/html/html.php

这无济于事,如果我在模板 index.php 文件中放入以下内容,也无济于事:

this does not help, neither helps if I put in my template index.php file the following:

require_once JPATH_ROOT .'/templates/'.$this->template .'/html/html.php';

推荐答案

您不能使用模板覆盖来覆盖它.这是我们在 Joomla 中的一个尚未解决的问题.

You can't override it using template overrides. It's an issue we have in Joomla which isn't solved yet.

覆盖库文件的唯一方法是提供一个系统插件,该插件将注册一个额外的库路径到自动加载器.那么应该可以覆盖这些类.请参阅 http://developer.joomla.org/manual/ch01s04.html 了解有关自动加载器以及如何注册自己的库.

The only way to override library files is if you provide a system plugin which will register an additional library path to the autoloader. Then it should be possible to override such classes. See http://developer.joomla.org/manual/ch01s04.html for information about the autoloader and how to register own libraries.

相关文章