【问题标题】:Modify footer in MediaWiki在 MediaWiki 中修改页脚
【发布时间】:2019-12-23 01:29:08
【问题描述】:

有没有办法在 MediaWiki 的页脚上放置一个外部链接? 我尝试在我的 localsetting.php 中添加此代码:

$wgHooks['SkinTemplateOutputPageBeforeExec'][] = function( $sk, &$tpl ) {

  $tpl->set( 'aboutus', $sk->footerLink( 'aboutus', 'aboutuspage' ) );
  // or to add non-link text:
  $tpl->set( 'footertext', 'Text to show in footer' );
  $tpl->data['footerlinks']['places'][] = 'aboutus';
  return true;
};

但这会创建一个 Mediawiki 的页面,我想添加一个链接到联系页面。我已经修改了 MediaWiki:Aboutus 和 MediaWiki:Aboutuspage 页面,但是没有,继续提醒我到 MediaWiki 的页面。

【问题讨论】:

    标签: mediawiki footer


    【解决方案1】:

    你在“MediaWiki:Aboutus”里放了什么?您必须实际创建 html 链接。 试试这个

      $wgHooks['SkinTemplateOutputPageBeforeExec'][] = function( $sk, &$tpl ) {
                $aboutusLink = Html::element( 'a', [ 'href' => $sk->msg( 'aboutus-url' )->escaped() ],
                $sk->msg( 'aboutus-label' )->text() ) ;
          $tpl->set( 'aboutus', $aboutusLink );
          $tpl->data['footerlinks']['places'][] = 'aboutus';
          return true;
      };
    

    然后在您的 wiki 上创建页面“MediaWiki:Aboutus-url”并直接放置您想要使用的外部链接。同时创建页面“MediaWiki:Aboutus-label”并将要显示的文本放置在表面上。这使您可以随时通过修改该 wiki 页面消息来更改 url 和标签,就像您想要这样做一样。但是,如果您想硬编码 LocalSettings.php 中的所有内容,请使用:

    $wgHooks['SkinTemplateOutputPageBeforeExec'][] = function( $sk, &$tpl ) {
            $aboutusLink = Html::rawelement( 'a', [ 'href' => 'https://stackoverflow.com/questions/59427663/modify-footer-in-mediawiki' ],
            'Text to show as label' );
        $tpl->set( 'aboutus', $aboutusLink );
        $tpl->data['footerlinks']['places'][] = 'aboutus';
        return true;
    };
    

    【讨论】:

    • 它适用于第一个代码!非常感谢,你救了我!
    猜你喜欢
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 2016-09-02
    • 2019-06-05
    相关资源
    最近更新 更多