2012-02-04 56 views
0

我正在制作一个系统插件,并且我需要一种方法将HTML放在任何组件之前以及标题,菜单ecc之后。换句话说,我需要把HTML此之前,模板:获取joomla中的组件内容

<jdoc:include type="component" /> 

谢谢

回答

1

如果要修改的网页,那么你应该做一个“内容”的插件,而不是一个内容“系统”插件。

一个很好的开始是通过查看与Joomla一起发布的emailcloak插件! 1.6+(请注意,Joomla!1.5与当前1.6/7/2.5时代插件的插件界面相当不同)。如果你正在使用1.5,那么看看它附带的example插件。

此文档涵盖“Creating a content plugin

+0

我的理解是,内容插件只有被需要的组件com_content及系统插件的范围(V3.1)情况并非如此? – ChelseaStats 2013-06-20 09:23:06

+0

不,例如'emailcloak'工作在模块,网页链接等 - 插件正在响应事件。内容插件获得'onContentPrepare',第一个参数是作为组件标识符的'context',例如你注意到核心插件检查上下文不是'c​​om_finder.indexer'说到组件必须正确写入才能触发相关事件以使插件与它们一起工作。 – Craig 2013-06-20 23:10:50

+0

谢谢你 – ChelseaStats 2013-06-21 08:30:06

4

我发现我所需要的:

// 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');