2011-04-01 59 views
0

如果我有一個鏈接到MediaWiki頁面像這樣的一個簡單的表:如何防止FCKeditor(Rich Editor)刪除表中的變量?

{|{{#vardefine:new|style="background: none repeat scroll 0% 0% gold;"}} 
|- {{#var:new}} 
| hi 
|} 

,我按富文本編輯器切換到FCKeditor,該表的代碼將變更爲:

{| 
|- 
| hi 
|} 

(所以#vardefine和#var被刪除!)

我安裝了VariablesExtension

我該如何預防?我在這裏發佈(SO),因爲我認爲這是一個問題,可以使用頁面上的不同代碼進行修復。請注意,如果代碼不在表格中,則沒有問題。

注意:如果在表中沒有的變量,也沒有問題:

{|style="background: none repeat scroll 0% 0% gold;" 
|- 
| no variable 
|} 

回答

0

我找到了解決方案,但它是一個有點怪物。您需要創建一個模板並在表格中使用它。在這個例子中,第三個(也是最後一個)參數定義了單元格的顏色(之前由表格中的一個變量定義 - 現在該變量已被移至模板中)。

模板將是這樣的:

<!-- Get color for this row 
-->{{#switch: {{{3|new}}}| 
| New 
| new 
| n = {{#vardefine:color|bgcolor=lightsalmon{{!}}}} 
| Open 
| open 
| o = {{#vardefine:color|bgcolor=khaki{{!}}}} 
| Closed 
| closed 
| c = {{#vardefine:color|bgcolor=lightgreen{{!}}}} 
| #default = {{#vardefine:color|bgcolor=gold{{!}}}} 
}}<!-- Add color for each cell in the row --> 
|- 
| {{#var:color}}{{{1|parameter 1}}} 
| {{#var:color}}{{{2|parameter 2}}} }} 

表看起來就像這樣:

{{template_name|parameter 1|parameter 2|parameter 3}} 
{{template_name|parameter 1|parameter 2|parameter 3}} 
{{template_name|parameter 1|parameter 2|parameter 3}}