1

ページのタイトルを MediaWiki のスキンの特定の値と比較しようとしています。ページ タイトルは、次を使用して出力できます。

<?php $this->text('title') ?>

これは機能し、ページ タイトル (この場合は「メイン ページ」) を出力しますが、値を何かと比較することはできません。次に例を示します。

<?php if ($this->text('title') == "Main Page") { echo "You are on the Main Page!"; } ?>

これは、「あなたはメインページにいます!」ではなく、「メインページ」を出力します。

これを修正するには、$this->text の代わりに $this->data を使用しますが、$this->data('title') は MediaWiki で定義されていません。$this->text の出力を、ユーザーに何もエコーせずに比較できる変数に変換するにはどうすればよいですか?

4

3 に答える 3

2

$this->text('title') はページのタイトルを返しません。代わりに、タイトルをスキン テンプレートにエコーします。これは、text() 関数のコードを見ることで確認できます。

必要なのは $this->data['title'] です。

$this->data は配列なので、 $this->data('title') は構文的に正しくありません。

于 2013-09-28T20:54:07.713 に答える