【发布时间】:2013-10-22 11:40:34
【问题描述】:
我正在尝试在我的 MediaWiki 页面的表中显示来自 MySQL DB 的数据。使用外部数据扩展函数#get_db_data 和#for_external_table 获取数据,这些函数运行良好。不过,我还想做两件事:
使用获取的值作为模板名称:当 DB 中的值为 x 时,插入 Template:X(或 {{X}})
在使用 ParserFunctions 扩展的条件中使用(另一个)获取的值。具体来说,返回一个数字。如果数字小于 100,则显示在括号中,否则不显示。
这是目前为止的代码:
{{#get_db_data:
db=pravidla
|from=alch
|order by=nazev
|data=nazev=nazev,prima=prima,primaproc=prima_proc,sekunda=sekunda,sekundaproc=sekunda_proc,dominanta=dominanta
}}
{| class="wikitable sortable" style="border: solid 1px black"
|+ Tabulka přísad
|''Přísada''
|''Prima''
|''Sekunda''
|''Dominanta'' {{#for_external_table:<nowiki/>
{{!}}-
{{!}} {{{nazev}}}
{{!}} {{{prima}}} ({{{primaproc}}} %)
{{!}} {{{sekunda}}} ({{{sekundaproc}}} %)
{{!}} {{{dominanta}}} }}
|}
prima、sekunda和dominida变量中的值应替换为同名模板。 {{{{{prima}}}}} 和 {{Lcb}}{{Lcb}}{{{prima}}}{{Rcb}}{{Rcb}}(其中 Lcb={ 和 Rcb=})都不起作用。
中间两个单元格中的值的括号应该只在值小于100(百分比)时显示,所以像{{#ifeq: {{{primaproc}}} | 100 | | ({{{primaproc}}} %) }}这样的东西应该是有序的,但是尽管尝试了我还是没有运气。
感谢您阅读本文,欢迎提供任何见解。
【问题讨论】:
标签: mysql templates if-statement mediawiki