Варианты вкладок MediaWiki - PullRequest
2 голосов
/ 10 ноября 2011

Кто-нибудь знает, как заставить вариантные вкладки работать как настоящие вкладки, а не как раскрывающийся список?

Вот как это имеет место в sr.wikipedia.org: desired solution, as seen on sr.wikipedia.org

иВот как у меня это на моей странице zablude.com/wiki/: enter image description here

, и я перепробовал все, что нашел и искал везде, где только мог придумать, но не смог найти решение... у кого-нибудь есть идеи, как это работает?

Ответы [ 2 ]

2 голосов
/ 12 ноября 2011

Они взламывают его в JavaScript - посмотрите этот фрагмент кода внизу Медијавики: Vector.js :

//to be able to switch the language variant (overrides the default buttons with more visible ones)
function tabWorkaround() {
    if(mw.config.get('wgUserVariant') == 'sr') {
        var tab_urls = {};
        tab_urls[0] = document.getElementById('ca-varlang-0').getElementsByTagName('a')[0].href; //Ћирилица
        tab_urls[1] = document.getElementById('ca-varlang-1').getElementsByTagName('a')[0].href; //Latinica
        $('#p-variants').remove();
        mw.util.addPortletLink('p-namespaces', tab_urls[0], 'Ћирилица');
        mw.util.addPortletLink('p-namespaces', tab_urls[1], 'Latinica');
    }
}
$(document).ready(tabWorkaround);

Вероятно, было бы чище сделать это с MediaWikiкрюк, хотяСледующий код не протестирован, но должен работать, если я не допустил глупых ошибок:

// show language variants as tabs in Vector skin
function tabWorkaround( &$skintemplate, &$links ) {
    $links['namespaces'] += $links['variants'];
    $links['variants'] = array();
    return true;
}
$wgHooks['SkinTemplateNavigation::Universal'][] = 'tabWorkaround';

(В MW 1.17 этот хук вызывается только из векторного стиля. В MW 1.18 это повлияет навсе скины. Если вы не хотите этого, вы можете проверить $skintemplate->skinname == 'vector'.)

0 голосов
/ 11 ноября 2011

Попробуйте $wgVectorFeatures['collapsibletabs']['global'] = false;. Это предназначено для раскрывающегося списка на другой стороне, но может работать и для других раскрывающихся списков.

...