我正在製作一個系統插件,並且我需要一種方法將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