问题描述
我有一个输出表 (format=table
) 的标准 SMW 查询。但是,我想通过着色来可视化该表中特定列的单元格。
我能想到的最简单的事情就是为列指定一个用于格式化的 MW 模板:查询的输出可以是 MW 模板输入,然后 MW 模板的输出可以显示在表格单元格中。
但是,我在 SMW 帮助中找不到这样的选项。所以我想知道这是否可以通过上述解决方案来实现。但也许还有其他(简单的?)方法可以实现这种可视化?这样的要求应该并不少见,因此我认为有一个我不知道的非常简单的解决方案。你能帮我解决这个问题吗?谢谢!
一个评论,因为我在上面的行中可能不够清楚:我需要格式取决于值。假设呈现的文本应该是红色、黄色或绿色,具体取决于值。这就是我考虑使用 MW 模板进行格式化的原因:在这里,您将能够区分值并相应地格式化输出。
解决方法
您可以使用 CSS 为包含某些属性的表格列设置样式;甚至全站点。该解决方案利用了属性名称作为 HTML 类分配给包含它的表格单元格这一事实。
SMW 查询:
{{#ask: [[User:+]] [[User edit count::>100]]
| ?User edit count
| format = table
| class = coloured
}}
class = coloured
允许将属性 User edit count
的以下样式声明限制为标有此类的表。
在 MediaWiki:Common.css 中添加:
table.coloured td.User-edit-count {
background-color: pink;
}