[英]MediaWiki table generation with DB data
我正在使用MediaWiki。 我需要為一些文章創建一個動態表。
例如,給定一個名為“ Lupo”的頁面,我需要查詢數據庫,使用代碼“ Lupo”(與文章標題相同的值)查找條目,並生成一個包含查詢結果集提供的某些數據的表。
我正在嘗試使用解析器功能執行此操作:
$parser->setFunctionHook('adetail', 'aFunc' );
:
function aFunc($parser, $name) {
// do the query etc.
}
以這種方式調用功能:
{{adetail:Lupo}}
無論如何,我也不想在解析器函數參數中重復文章標題。 有一個更好的方法嗎?
如果從模板調用此解析器功能,則可以使用魔術詞FULLPAGENAME: {{adetail:{{FULLPAGENAME}}}}
。 無論在何處使用模板,都將用FULLPAGENAME代替頁面名稱。 {{PAGENAME}}
執行相同的操作,但沒有名稱空間前綴。
如果您始終希望解析器函數采用當前頁面,則可以通過aFunc函數訪問它, 如下所示 :
function aFunc($parser, $params) { $title = $parser->getTitle()->getPrefixedText(); ...
如果您正在尋找一種創建動態表的方法而不必一起破解自己的擴展,那么我建議您看一下Semantic MediaWiki 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.