Я создаю группу различных языковых медиавинок на одной базе кода. Пока что большая часть из них работает, но я хочу использовать главную страницу, которая выглядит иначе, чем остальные страницы. Для этого я только что добавил некоторые правила CSS, которые применяются только к классу main_page:
body .page-Main_Page { <rules> }
Проблема в том, что на других языках основная страница называется по-разному (и соответственно изменяется класс), поэтому я либо должен добавлять правила css для всех возможных заголовков главной страницы (не произойдет), либо сделать проверку внутри скина, которая добавляет класс, если текущая страница является главной страницей.
К сожалению, нет способа проверить это. Большинство решений, которые я искал Google, основаны либо на «главной странице», либо на настройке собственного названия. Я хочу, чтобы скин автоматически определял название.
Единственное решение, о котором я думал до сих пор, – это взять переменную mediawiki для URL главной страницы и сравнить ее с текущим заголовком страницы:
$mainurl = $this->data['nav_urls']['mainpage']['href']; $ismain = $this->data['thispage'] == substr($mainurl,'6');
(['href'] начинается с / wiki /, следовательно, смещение 6)
и позже
<body class="<?php echo ($ismain ? 'mainpage' : ''); ?>">
(и, конечно, еще несколько классов, но вы поняли)
Но это дает мне еще одну проблему. На испанском языке эта страница называется Página Principal. У данных ['thispage'] нет проблем с этим, но ['href'] сохраняется как / wiki / P% C3% A1gina_Principal
Итак … может ли кто-нибудь сказать мне, как 1. искать перевод на «главную страницу» на языке, который в настоящее время используется ИЛИ 2. конвертировать P% C3% A1gina_Principal в Página Principal (и тому подобное для других языков) ИЛИ 3 Покажите мне еще один способ проверить, есть ли я на главной странице?