Я создаю кучу разных языков mediawiki на одной кодовой базе. Пока что большая часть из них работает, но я хочу использовать главную страницу, которая выглядит иначе, чем остальные страницы. Для этого я первоначально только добавил некоторые правила CSS, которые применяются только к классу main_page:MediaWiki пользовательский скин: проверьте, является ли текущая страница главной страницей.
body .page-Main_Page { <rules> }
Проблема заключается в том, что в других языках главная страница называется по-разному (и изменения класса соответственно), так что я либо есть добавить правила css для всех возможных титулов главной страницы (не произойдет) или выполнить проверку внутри скина, которая добавляет класс в тело, если текущая страница является главной страницей.
К сожалению, не существует способа проверить это. Большинство решений, которые я искал Google, основаны либо на «главной странице», либо на настройке собственного названия. Я хочу, чтобы скин автоматически определял название.
Единственное решение I've думал до сих пор принимает mediawiki's переменные для главной страницы URL и сравнить его с текущим названием страницы:
$mainurl = $this->data['nav_urls']['mainpage']['href'];
$ismain = $this->data['thispage'] == substr($mainurl,'6');
(кнопка [ «HREF»] начинается с/вики /, следовательно, смещение 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. показать мне другой способ проверить, включен ли я главная страница?
Дa, я Я был там. Часто после того, как я отправляю вопрос, ответ просто «появляется».Отлично, вы также отправили ответ, спасибо. (Не забудьте принять его.) – Wikis
Напоминание: D –