我想爲所有MediaWiki頁面(退出和將來的頁面)添加一段wiki標記。如何在所有MediaWiki頁面中添加全局模板?
這段維基標記代碼不一定是頁面主體的一部分,因爲我不想讓人修改它。
我該如何獲得這個?
詳細信息:我正在使用FB-Connect擴展來啓用Facebook身份驗證和註釋,但看起來,爲了對所有頁面啓用註釋,我必須在每個頁面上添加<fb:comments></fb:comments>
。我不想最終編輯每個wiki頁面。
我想爲所有MediaWiki頁面(退出和將來的頁面)添加一段wiki標記。如何在所有MediaWiki頁面中添加全局模板?
這段維基標記代碼不一定是頁面主體的一部分,因爲我不想讓人修改它。
我該如何獲得這個?
詳細信息:我正在使用FB-Connect擴展來啓用Facebook身份驗證和註釋,但看起來,爲了對所有頁面啓用註釋,我必須在每個頁面上添加<fb:comments></fb:comments>
。我不想最終編輯每個wiki頁面。
您可以編寫一個小的MediaWiki extension,使用hook執行一個函數,在文章內容已被解析後修改頁面輸出,並在需要的位置插入註釋區域。
基於線72 here,它看起來像所有FB-連接的確,當你把<fb:comments></fb:comments>
在文章文字引起的HTML輸出同樣的事情,以及其他一切可能是由JavaScript(或多個)處理該FB-Connect默認包含。因此,如果您希望評論框出現在內容框下方,您可以簡單地使用SkinAfterContent掛鉤(一個很好的示例是Semantic MediaWiki的Factbox-example)。如果您希望評論框出現在文章內容中,或者特別是在文章內容的特定位置,那麼您需要其中一個頁面呈現掛鉤,可能是ParserAfterTidy,儘管我不確定。
如果您需要掛鉤函數來輸出模板或其他mediawiki標記,那麼可以或多或少地將某些標記和Page對象傳遞給解析器並獲取生成的html文本。
我知道我遲到了,但如果您還沒有弄明白這一點,Mediawiki有一個有用的功能(Sitenotice),可以讓您在所有wiki頁面的頂部顯示定義的文本。這應該有助於你的情況。
我把我的Facebook像按鈕放入皮膚/ Vector.php。搜索頁腳。我在這裏描述它:http://www.linuxintro.org/wiki/Mediawiki#FaceBook_like_buttons