2012-02-04 96 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');