如何防止FCKeditor(Rich Editor)删除表中的变量?

时间:2011-04-01 12:57:49

标签: variables mediawiki fckeditor

如果我在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
|}

1 个答案:

答案 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}}