我正在尝试在我的 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 和dominant 变量中的值应替换为具有相同名称的模板。也不{{{{{prima}}}}}
是{{Lcb}}{{Lcb}}{{{prima}}}{{Rcb}}{{Rcb}}
(其中 Lcb={ 和 Rcb=})都不起作用。
中间两个单元格中的值的括号应仅在值小于 100(百分比)时显示,因此{{#ifeq: {{{primaproc}}} | 100 | | ({{{primaproc}}} %) }}
应该按顺序显示类似的内容,但是尽管尝试了,但我还是没有运气。
感谢您阅读本文,欢迎任何见解。