我在joomla中创建了一个“my-plug-in”的搜索插件。当我试图在joomla模板中覆盖此插件时,它无法工作。如果我尝试覆盖任何现有的插件joomla它的工作。我也检查了下面的链接。这是有效的
我如何在joomla模板中覆盖我的插件。
我已将插件添加到下方。
plugins/search/my-plug-in
to
templates/{TEMPLATENAME}/html/plg_search_my-plug-in
答案 0 :(得分:1)
如果您已经彻底检查了您提供的链接,则会找到一行“但是,如果插件已准备好允许覆盖,则只能执行此操作。”
和
Joomla提供了一种覆盖插件的机制,但所有插件都不支持此功能。目前,Joomla 3.x核心中唯一允许覆盖的插件是Pagenavigation Content插件,它在内容组件的文章视图中显示上一篇/下一篇文章链接。可能有来自第三方开发者的其他插件允许它,并且将来可以覆盖更多核心插件。
你的插件中是否有一个tmpl文件夹,如“你知道什么时候插件可以覆盖,因为其中有一个/ tmpl /文件夹。”
您还使用过JPluginHelper::getLayoutPath()
。这些是在覆盖布局之前需要完成的要求。
在pagenavigation插件中检查此代码
// Output.
if ($row->prev || $row->next)
{
// Get the path for the layout file
$path = JPluginHelper::getLayoutPath('content', 'pagenavigation');
// Render the pagenav
ob_start();
include $path;
$row->pagination = ob_get_clean();
$row->paginationposition = $this->params->get('position', 1);
// This will default to the 1.5 and 1.6-1.7 behavior.
$row->paginationrelative = $this->params->get('relative', 0);
}
他们使用过JPluginHelper :: getLayoutPath();你必须使用
$path = JPluginHelper::getLayoutPath('search', 'my-plug-in');
您可以彻底检查pagenavigation插件以获得一个好主意。