【问题标题】:MediaWiki Template for external URL用于外部 URL 的 MediaWiki 模板
【发布时间】:2010-10-26 21:19:28
【问题描述】:

我在我们的 WIKI 上创建了一些模板,并且我对它们的工作原理有基本的了解。我现在正在处理一个模板,它拒绝表现,至少不是我期望的那样。模板的目的是以一致的方式格式化外部链接。模板名称为“NSURL”

这是模板标记:

[{{{1}}} 去...]

我是这样使用的:

{{NSURL | https://www.somesecreturl.com}}

当我使用模板时,它会像原始模板标记一样打印出来。如果我用静态 URL 替换 {{{1}}} 它可以正常工作:

[http://www.yahoo.com 去...]

----- 版本信息 -----

MediaWiki 1.15.1

PHP 5.2.6-1+lenny3 (apache2handler)

MySQL 5.0.51a-24+lenny1

【问题讨论】:

    标签: mediawiki


    【解决方案1】:

    @Steve K - 这是我的维基百科 URL 外部链接代码:

    [http://en.wikipedia.org/wiki/{{{1|Main_Page}}} {{{2|{{{1|Wikipedia}}}}}}]
    

    用途:

    另见以下有关特殊字符的注释,例如 ?等等

    更新:如果你有Extension:StringFunctions,你可以在第二个例子中使用#replace。这意味着 URL 将用 下划线 替换 空格。所以模板中的代码将是:

    [http://en.wikipedia.org/wiki/{{#replace:{{{1|Main_Page}}}| |_}} {{{2|{{{1|Wikipedia}}}}}}]
    

    在页面上你只需要:

    • {{Wikipedia|Agile software development}}

    【讨论】:

    • @Mark - 感谢分享,但如果我修改您的示例以将完整 URL 作为参数,我仍然会得到与原始帖子相同的内容。您是否有机会尝试我发布的模板,看看您是否收到不同的结果?如果不是我完全理解。
    • @SteveK - 对我来说效果很好。这就是我所做的——你能重复一遍吗? 1.创建一个名为urltest的模板(所以页面是Template:urltest)。 2. 把这个放在模板上:[{{{1}}} urltest] 3. 在另一个页面上,把这个:{{Urltest|google.com}} 4. 告诉我会发生什么。祝你好运!注意:第 3 步应该首先显示 h t t p : // w w w . 但是这个编辑器没有显示。
    • @Mark - 我知道我做错了什么。我在垂直管道和我的 URL 之间添加了一个空格。我习惯于使用我的其他模板执行此操作,以使它们更易于阅读,但显然当将 URL 传递给 wiki 外部链接宏(函数?助手?)时,它不会正确处理前导空格。简而言之,使用 {{NSURL|url}} 有效,但 {{NSURL| url}} 不会。感谢您的帮助!
    • @Steve K - 是的,那是因为 ? (问号)。将其替换为 %3F。如果有 | URL 中的字符,您必须将其替换为 %7C。查看完整列表:asciitable.com
    • @Mark - 感谢您的额外帮助,确实解决了问题。
    猜你喜欢
    • 2012-04-20
    • 2013-10-22
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多