我在模板中找不到覆盖Joomla插件的任何信息。 一些论坛声称没有插件覆盖,Joomla文档(它是一个威胁森林)要么没有关于这个主题,要么页面很难找到。
那么我们如何覆盖Joomla插件的输出呢?我们覆盖com_content或mod_contact的输出?
答案 0 :(得分:9)
我找到了一种方法:
<joomla_homefolder>/administrator/language/<your_language>/
en-GB.
)和.ini
后缀。html
的文件夹(模板覆盖的常用做法)。html
文件夹中,在步骤3中复制时,使用语言文件名创建子文件夹和名称。tmpl
子文件夹:<joomla_homefolder>/plugins/<plugin_type>/<plugin_name>/tmpl
例如 -
要更改页面导航按钮 - 修改<joomla_homefolder>/plugins/content/pagenavigation
:
进入<joomla_homefolder>/administrator/language/en-GB/
并找到名为en-GB.plg_content_pagenavigation.ini
的文件。
仅从文件名副本plg_content_pagenavigation
。
在主题中创建一个名为html
的文件夹(如果它不存在),在其中创建一个子文件夹并将其命名为plg_content_pagenavigation
。
将视图文件<joomla_homefolder>/plugins/content/pagenavigation/tmpl/default.php
复制到刚刚创建的plg_content_pagenavigation
文件夹中。
修改文件。
注意:我只使用Joomla 3.1尝试过。 该方法可能不适用于某些插件。
祝你好运。
答案 1 :(得分:6)
在joomla 3中,你只能覆盖插件输出,这就是为什么必须用tmpl实现origin插件的原因。 你[template] / html中文件夹的命名约定是
PLG _ [的类型* 强>] _ [pluginElement]
模板覆盖的本机joomla插件只是pagenavigation。
输入* :显然除了内容之外没有任何意义,但如果它是自定义插件,没有人可以阻止你。
答案 2 :(得分:2)
在Joomla 3.1安装中,我使用的是Simple Image Gallery插件,我觉得有必要覆盖它,以便为图库的每个缩略图添加额外的功能。
我将<joomla_homefolder>/plugins/content/jw_sig/jw_sig/tmpl/
的所有内容复制到文件夹<joomla_homefolder>/templates/protostar/html/jw_sig/
中,然后我就可以修改default.php
文件以进行输出修改,以及随附的template.css
用于样式修改的文件。这成功地覆盖了插件的输出,而不会在将来的更新中出现问题。
当然,这不适用于所有插件,但如果你有一个足够好用于tmpl
文件夹开发的插件,它会提供另一种选择。
答案 3 :(得分:1)
不,你不能以同样的方式覆盖,因为没有tmpl文件夹,因为插件真的不应该渲染,当然很多。您可能需要克隆插件并使用jlayout制作您想要的布局,以便于管理。
答案 4 :(得分:1)
在某些情况下,您可能需要在plugin / tmpl文件夹中创建替代视图。例如,一些使用JForms的简单,较新的自定义内容组件允许您向com_content文章添加字段并为每个字段选择视图模板。然后动态生成com_content的覆盖以显示自定义字段。每个字段类型都可以通过插件或模块或模板代码显示在组件区域中,但它将使用您为CCK组件中的字段选择的/ tmpl文件。如果有一种方法可以覆盖模板文件夹中的不同视图,那么它必须需要一个我无法发现的神秘菜单结构。