媒体维基模板

问题描述 投票:0回答:1

我对 mediawiki 非常陌生,并且用它进行开发。

目标:创建一个动态填充用户和统计数据的排行榜页面。

排行榜

{{UserScore

| Username = Timmy

| Score = 100

| Badges = 5

}}

LeaderBoard is showing data like this: 

{{#vardefine: Username|Timmy}} {{#vardefine: Score|100}} {{#vardefine: Badges|5}}

Not sure why or how to display better.

模板:用户评分


<includeonly>{{ #vardefine: Username | {{{Username}}} }}</includeonly>
<includeonly>{{ #vardefine: Score | {{{Score}}} }}</includeonly>
<includeonly>{{ #vardefine: Badges | {{{Badges}}} }}</includeonly>


mediawiki mediawiki-templates
1个回答
0
投票

您似乎尚未安装扩展程序变量

但无论如何你都不应该这样做。变量的目的是在一页内重用相同的数据;甚至由于 wiki 解析的变化,他们也不能再这样做了。

显示数据,请像这样定义

Template:UserScore

{| class="infobox"
! Username || {{{Username|{{PAGENAME}}}}}
|-
! Score || {{{Score|0}}}
|-
! Badges || {{{ Badges|}}}
|}

查询其他页面的数据,您可能需要安装Semantic MediaWikiCargo

如果您安装了 Semantic MediaWiki,请像这样重新定义

Template:UserScore

{| class="infobox"
! Username || {{{Username|{{PAGENAME}}}}} {{#set:Username={{{Username|{{PAGENAME}}}}}}}
|-
! Score || {{{Score|0}}} {{#set:Score={{{Score|0}}}}}
|-
! Badges || {{{ Badges|}}} {{#set:Has badge={{{Badges|}}}|+sep=,}}
|}

Property:Username
创建为
(some description) {{#set:Has type=Text}}
,将
Property:Score
创建为
(some description) {{#set:Has type=Number}}
,并将
Property:Has badge
创建为
(some description) {{#set:Has type=Page}}

然后您可以查询,例如在页面上

The Sublime Badge of Everlasting Honour

The following people have the badge {{PAGENAME}}:
{{#ask: [[Has badge::{{FULLPAGENAME}}]]
| ?Username
}}

我给出的例子对于生产使用来说太原始了,但是你可以让它们变得更复杂。

© www.soinside.com 2019 - 2024. All rights reserved.