3

就像主题说我想按日期排序值。我正在使用代码

[[Einspiel_{{{1}}}::{{{2}}}| ]]{{{2}}}

在模板中轻松将值引用到变量。{{{1}}} 是我的变量的名称,{{{2}}} 是日期(dd.mm.yyyy)。

由于可以给变量多个值,我想在另一个 wiki 页面上获得最高日期。

我试过这样的东西

{{#arraydefine:{{{1}}}_Preisdatum
  |{{#ask:[[Kategorie:Aktualisierungen]]
      |?Einspiel_{{{1}}}=
      |mainlabel=-
      |link=none
      |sort=Einspiel_{{{1}}}
      |order=desc}}
    }}
{{#arrayindex:{{{1}}}_Preisdatum|0 }}

但没有成功。问题似乎是日期仅按第一位数字排序。如果我尝试获取降序列表,结果是:

  • 11.07.2014
  • 08.07.2014
  • 01.01.2015

代替

  • 01.01.2015
  • 11.07.2014
  • 08.07.2014

我读过有一种方法可以使用#SORTKEY 来订购日期,但我不知道如何将其包含在我的代码中,因为我的输入应该只是最新的日期。我希望你们能帮助我。提前致谢。

4

2 回答 2

0

我不知道您喜欢多少属性,Einspiel_{{{1}}}但您必须创建相关页面(即Template:Einspiel_OneTemplate:Einspiel_TwoTemplate:Einspiel_Three)。

在它们中的每一个中,您都必须通过添加属性的类型来指定该属性的数据类型。如果你不知道,Mediawiki 不知道这个属性是一个日期,它不会对它进行相应的排序。

例子

Template:Einspiel_One

This is my first property...
[[Has type::Date]]

Template:Einspiel_Two

This is my second property...
[[Has type::Date]]

Template:Einspiel_Three

This is my thrid property...
[[Has type::Date]]

等等...

于 2015-01-28T13:28:26.380 回答
0

我认为 Thibault 的回答有误 - 创建“模板:...”没有意义,因为属性类型存储在“属性:...”命名空间中。但是,似乎没有适合您的解决方案,除了编写自己的结果格式

于 2016-07-05T20:19:35.637 回答