我正在制作一个系统插件,并且我需要一种方法将HTML放在任何组件之前以及标题,菜单ecc之后。换句话说,我需要把HTML此之前,模板:获取joomla中的组件内容
<jdoc:include type="component" />
谢谢
我正在制作一个系统插件,并且我需要一种方法将HTML放在任何组件之前以及标题,菜单ecc之后。换句话说,我需要把HTML此之前,模板:获取joomla中的组件内容
<jdoc:include type="component" />
谢谢
如果要修改的网页,那么你应该做一个“内容”的插件,而不是一个内容“系统”插件。
一个很好的开始是通过查看与Joomla一起发布的emailcloak
插件! 1.6+(请注意,Joomla!1.5与当前1.6/7/2.5时代插件的插件界面相当不同)。如果你正在使用1.5,那么看看它附带的example
插件。
此文档涵盖“Creating a content plugin”
我发现我所需要的:
// get the document object.
$doc = JFactory::getDocument();
// get the buffer
$buffer = $doc->getBuffer('component');
// your string to insert
$insert_string = "<p>I've been inserted</p>";
// insert the string
$buffer = $insert_string . $buffer;
// reset the buffer
$doc->setBuffer($buffer, 'component');
我的理解是,内容插件只有被需要的组件com_content及系统插件的范围(V3.1)情况并非如此? – ChelseaStats 2013-06-20 09:23:06
不,例如'emailcloak'工作在模块,网页链接等 - 插件正在响应事件。内容插件获得'onContentPrepare',第一个参数是作为组件标识符的'context',例如你注意到核心插件检查上下文不是'com_finder.indexer'说到组件必须正确写入才能触发相关事件以使插件与它们一起工作。 – Craig 2013-06-20 23:10:50
谢谢你 – ChelseaStats 2013-06-21 08:30:06