【问题标题】:How do I add a global template in all MediaWiki pages?如何在所有 MediaWiki 页面中添加全局模板?
【发布时间】:2011-08-21 14:38:33
【问题描述】:

我想为所有 MediaWiki 页面(现有的和未来的)添加一段 wiki 标记。

这段 wiki 标记代码不必成为页面正文的一部分,因为我不希望人们修改它。

我怎样才能得到这个?

详细信息:我正在使用 FB-Connect 扩展来启用 Facebook 身份验证和 cmets,但看起来,为了为所有页面启用 cmets,我必须将 <fb:comments></fb:comments> 附加到每个页面。我不想最终编辑每个 wiki 页面。

【问题讨论】:

    标签: mediawiki


    【解决方案1】:

    我知道我迟到了,但万一你还没弄明白,Mediawiki (Sitenotice) 上有一个有用的功能,可以让你在所有 wiki 页面的顶部显示定义的文本。这应该对您的情况有所帮助。

    【讨论】:

      【解决方案2】:

      我将我的 facebook like 按钮放入 skins/Vector.php。搜索页脚。我在这里描述它:http://www.linuxintro.org/wiki/Mediawiki#FaceBook_like_buttons

      【讨论】:

        【解决方案3】:

        你可以写一个小MediaWiki extension,使用hook来执行一个函数,在文章内容已经被解析后修改页面输出,并在你想要的地方插入评论区。

        基于第 72 行 here,看起来当您在文章文本中输入 <fb:comments></fb:comments> 时,FB-Connect 所做的所有事情都会导致在 HTML 中输出相同的内容,而其他所有内容都可能由 javascript ( s) FB-Connect 默认包含的。因此,如果您希望评论框出现在内容框下方,您可以简单地使用 SkinAfterContent 挂钩(一个很好的例子是 Semantic MediaWiki 的 Factbox - example)。如果您希望评论框出现在文章内容中,或者特别是在文章内容中的特定位置,那么您需要一个页面呈现钩子,可能是ParserAfterTidy,尽管我不确定。

        如果您需要挂钩函数来输出模板或其他 mediawiki 标记,则可以或多或少地将一些标记和 Page 对象传递给 Parser 并获取生成的 html 文本。

        【讨论】:

          猜你喜欢
          • 2014-07-12
          • 2013-05-30
          • 2013-08-14
          • 2017-03-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多