如果我在MediaWiki页面上有一个简单的表格,如下所示:
{|{{#vardefine:new|style="background: none repeat scroll 0% 0% gold;"}}
|- {{#var:new}}
| hi
|}
我按 Rich Editor 切换到FCKeditor,表格代码将更改为:
{|
|-
| hi
|}
(所以#vardefine和#var被删除了!)
我安装了VariablesExtension。
我该怎样防止这种情况?我在这里发布它(SO)因为我认为这是一个可以使用页面上的不同代码修复的问题。请注意,如果代码不在表中,则没有问题。
注意:如果表中没有变量,也没有问题:
{|style="background: none repeat scroll 0% 0% gold;"
|-
| no variable
|}
答案 0 :(得分: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}}