表格 SMW 查询结果:如何使用自定义格式显示单列?

问题描述

我有一个输出表 (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;
}

一个工作示例:https://traditio.wiki/User:Alex_Mashin/columns

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...