2016-06-09 45 views
1

我創建了一個標準的Wiki模板,它爲歌曲創建一個信息框。我將「藝術家」定義爲參數,應用*字符創建列表並在其貢獻者名稱周圍添加括號。這裏有一個例子:Semantic Mediawiki:使用屬性中的多個值

{{song infobox 
|artist= * [[Lady Gaga]] (Music & Lyrics) 
* [[Zedd]] (Vocal arrangement) 
* [[The Gagaband]] (Guitar, piano, drums) 
}} 

現在我開始用語義Mediawiki的合作,可以訪問從另一個wiki頁面此數據,但不幸的是簡化版,它用方括號工作。有沒有什麼辦法解決這一問題?

我的下一個嘗試是將數據寫入一行(由;字符分隔)。用下面的代碼,我能夠多值設置爲單個屬性:

{{#set: 
|artist={{{artist}}}|+sep=; 
}} 

我在這裏的問題是,那些分隔值獲得顯示爲鏈接包括像(Music & Lyrics)進一步的解釋。另外,如果我想使用命令{{#show: Pokerface | ?artist |format=ul}}再次將它們顯示爲列表,它會在開頭只顯示一個點的一行中顯示藝術家。

我也聽說過子對象,但我不確定這是否會幫助我在這種情況下。

你會向我推薦什麼?

回答

0

我會重構您的模板。

{{song infobox 
|Music author=Lady Gaga 
|Lyrics author=Lady Gaga 
|Vocal arrangement author=Zedd 
|Guitarist=The Gagaband 
|Pianist=The Gagaband 
|Drummer=The Gagaband }} 

如果您的歌曲有兩個值,如吉他彈奏者等屬性,則用逗號分隔。

您必須修改歌曲信息框模板上的查詢以處理您想要的這些不同屬性。您可能需要使用語義複合查詢,但這不是必需的。