2012-07-25 54 views
2

我正在使用mediawiki管理一些數據,並且想知道是否可以從現有wiki數據生成標準化頁面,而不必創建非常類似頁面的負載。在理想的情況下,我會有一個由CGI動態填充的數據庫後端和頁面模板,我想知道mediawiki模板系統是否可以被強制填充到這個角色中。Mediawiki模板並生成標準化頁面

這是我想做什麼:

數據頁

name:  banana 
colour: yellow 
tastiness: extremely high 
extra:  some more stuff, potentially with complicated wiki formatting 
links:  www.banana.com; www.iheartbananas.org 
image:  banana.jpg 

name:  apple 
colour: red, green 
tastiness: variable 
extra:  some more stuff 
links:  www.apple-fruit.com 

,然後在數據庫中的每個項目,生成標準化的頁面:

<name> Info 

It is generally <colour> 
Its tastiness rating is <tastiness> 
Read more about <name> at <links> 

<image> 

這是使用mediawiki模板可能嗎?

+1

有擴展可以將外部數據加載到wiki模板中。參見例如[Extension:DataTransclusion](http://www.mediawiki.org/wiki/Extension:DataTransclusion)。您仍然需要一種自動生成頁面的方法。也許可以將該擴展與[頁面預加載擴展]結合使用(http://www.mediawiki.org/wiki/Manual:Creating_pages_with_preloaded_text)。 – Christian 2012-07-25 16:02:32

回答

2

模板是可能的,但它不一定是一個好的解決方案。您需要創建這樣每個項目數據模板,東西(比方說,Template:FruitData/banana):

{{ {{{template}}} 
| name =  banana 
| colour = yellow 
| tastiness = extremely high 
| extra =  some more stuff, potentially with complicated wiki formatting 
| link =  www.banana.com 
| image =  banana.jpg 
}} 

和顯示模板(比如Template:StandardFruitDisplay):

[[File:{{{image}}}|thumb|right]] 
The {{{name}}} is a {{{colour}}} fruit with {{{tastiness}}} taste. {{extra|}}} See [http://{{{link}}} {{{{link}}}]. 

,然後在實際顯示它像這樣的頁面:{{ Template:FruitData/banana | template = StandardFruitDisplay }}

但是你可能更喜歡一些以數據爲中心的擴展,可能(除非你的目標是極端的靈活性或用戶控制)。

+0

謝謝,這很好。正如你所說,模板不是最好的解決方案,但這是解決這個問題的方便方法。 – 2012-07-26 18:23:08