If statement 如何在信息框中实现#if函数?

If statement 如何在信息框中实现#if函数?,if-statement,mediawiki,If Statement,Mediawiki,所以我一直在尝试将#if解析器实现到一个infobox中,但我似乎运气不佳。我以前使用的代码似乎已经过时,我找不到重新编码的方法/ 基本上,在这个信息框中,如果一个字段没有输入(或者如果输入为空),它应该是“不可见”的,甚至不会呈现 此代码在以前版本的MediaWiki中运行良好(但不确定是哪个版本),但不再:。我一直试图将它作为教程使用,甚至直接复制并粘贴它,但它根本不起作用。所有的场都会变得不可见,不管我会对它们做什么 这是我正在使用的新代码,我希望#如果#ed: 欢迎任何帮助。您需要启用,

所以我一直在尝试将#if解析器实现到一个infobox中,但我似乎运气不佳。我以前使用的代码似乎已经过时,我找不到重新编码的方法/

基本上,在这个信息框中,如果一个字段没有输入(或者如果输入为空),它应该是“不可见”的,甚至不会呈现

此代码在以前版本的MediaWiki中运行良好(但不确定是哪个版本),但不再:。我一直试图将它作为教程使用,甚至直接复制并粘贴它,但它根本不起作用。所有的场都会变得不可见,不管我会对它们做什么

这是我正在使用的新代码,我希望#如果#ed:

欢迎任何帮助。

您需要启用,以便能够使用
{{if}
解析器函数。在
LocalSettings.php中执行此操作:

require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php" );
如果要使用(如
{{{{replace}}
{{{explode}}
等),还可以添加:

$wgPFEnableStringFunctions = true;
在MediaWiki的最新版本中,包含(但未启用)ParserFunction,因此您无需下载任何内容


基本故障排除:每当您在wiki页面中看到类似
{{{{{zyx:…}}
的代码时,这(可能)意味着有人试图使用未安装的。除非安装了名为“zyx”的解析器函数,否则代码
{{{{zyx:…}}
对wiki没有特殊意义,文本将按原样打印。最常见的解析器函数收集在一个名为ParserFunctions的扩展中,该扩展用于WikiMedia wiki。无论何时从例如英语维基百科复制模板,您都需要ParserFunctions中的parser函数


要查看您启用了哪些解析器功能,请导航到wiki上的
Special:Version
。在已安装扩展列表的下面是可用的标记(如
)和解析器函数的列表。如您所见,“if”是wiki上的解析器函数之一,但不是您的。

您向我们展示的代码看起来很好,而且。你能提供一个到你的维基的链接吗?@leo这是新维基中的旧信息框:,在使用时它在这里:。它显然是坏的,但不知怎么的,它在我使用的旧wiki上工作了:,工作了。\好的,你甚至还没有启用你正在使用的解析器函数,所以难怪它不工作。我在下面回答你。工作得很有魅力D谢谢!