-4

これはMediaWikiに精通している人にとってはかなり簡単なはずですが、私であるために私を困惑させています。

私はスキンに取り組んでおり、現在ログインしているユーザーの名前をトップバーに表示する必要があります-簡単にするために、CSSを介して変更を加えたプレーンテキストで想定しましょう。

当初はパーソナルツールバーで使用する自動生成を使用する予定でしたが、スキンの生成ラインが

<?php $this->renderNavigation( 'PERSONAL' ); ?>

、そこから切り離せない。User.phpを調べて、その生成行を見つけました。

public function getUserPage() {
    return Title::makeTitle( NS_USER, $this->getName() );
}

ですから、どういうわけかこの関数が使えるのではないかと思いますが、PHPの知識がほとんどなく、どうすればいいのかわかりません。

編集:これはパーソナルツールライン自体の生成に使用されているようですが、これをどのように適応させるかはわかりません。

            $personal_urls['userpage'] = array(
            'text' => $this->username,
            'href' => &$this->userpageUrlDetails['href'],
            'class' => $this->userpageUrlDetails['exists'] ? false : 'new',
            'active' => ( $this->userpageUrlDetails['href'] == $pageurl )
        );

これを別の関数に複製して、次のようなものを作成できますか?

<?php $this->renderNavigation( 'USERNAME' ); ?>
4

3 に答える 3

2

次のコードを使用できます。

<?php echo htmlspecialchars($this->getSkin()->getUser()->getName()); ?>

または、 User クラスには __ToString() マジック メソッドがあるため:

<?php echo htmlspecialchars($this->getSkin()->getUser()); ?>

ソース:

于 2012-12-27T01:17:17.860 に答える
0

ユーザー名をスキン HTML のどこかに挿入したい場合は、次のようにします。

<?php echo htmlspecialchars( $this->username ); ?>
于 2012-12-24T18:36:02.547 に答える
0

現在のユーザー

http://www.mediawiki.org/wiki/Extension:CurrentUsers

GetUserName

http://www.mediawiki.org/wiki/Extension:GetUserName

必要に応じてこれらの拡張子を変更します

于 2012-12-23T15:37:53.360 に答える