私は1つのコードベースにたくさんの異なる言語のmediawikiをセットアップしています。これまでのところほとんどが機能していますが、他のページとは異なって見えるメインページを使用したいと思います。これを行うために、私は元々、main_pageクラスにのみ適用されるいくつかのcssルールを追加しました。
body .page-Main_Page { <rules> }
問題は、他の言語ではメインページの呼び出しが異なる(それに応じてクラスが変更される)ため、考えられるすべてのメインページタイトルにcssルールを追加するか(発生しない)、スキン内でチェックを実行して、現在のページがメインページの場合は、本文にクラス分けします。
残念ながら、それを確認する方法はありません。私がグーグルで検索したほとんどのソリューションは、「メインページ」または独自のタイトルの設定に基づいています。肌にタイトルを自動検出させたい。
私がこれまで考えてきた唯一の解決策は、メインページのURLにmediawikiの変数を取り、それを現在のページタイトルと比較することです。
$mainurl = $this->data['nav_urls']['mainpage']['href'];
$ismain = $this->data['thispage'] == substr($mainurl,'6');
(['href']は/ wiki /で始まるため、オフセットは6です)
以降
<body class="<?php echo ($ismain ? 'mainpage' : ''); ?>">
(もちろん、さらにいくつかのクラスがありますが、あなたはその考えを理解します)
しかし、これは私に別の問題を与えます。スペイン語では、このページはPáginaPrincipalと呼ばれます。data ['thispage']には問題はありませんが、['href']は/ wiki / P%C3%A1gina_Principalとして保存されます。
だから...誰かが私に方法を教えてもらえますか1.現在使用されている言語で「メインページ」の翻訳を検索するか2.P%C3%A1gina_PrincipalをPáginaPrincipal(および他の言語の同様のもの)に変換するまたは3 。メインページにいるかどうかを確認する別の方法を教えてください。