2011-11-10 44 views
2

任何人都知道如何讓變體標籤作爲實際標籤工作,而不是作爲一個下拉?MediaWiki變體標籤

這是sr.wikipedia.org它是如何: desired solution, as seen on sr.wikipedia.org

,這是我怎麼也得是我的zablude.com/wiki/頁: enter image description here

,我已經嘗試了一切我發現並搜索到了我能想到的任何地方,但我無法找到解決方案......任何人都有任何想法如何工作?

回答

2

他們破解它在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,這個鉤子只從矢量皮膚稱爲在1.18兆瓦,這將影響到所有的皮膚。如果你不想這樣,你可以測試是否$skintemplate->skinname == 'vector'。)

+0

這個解決了它,真棒!謝謝! –

0

嘗試$wgVectorFeatures['collapsibletabs']['global'] = false;。這是爲了另一側的下拉菜單,但也可能適用於其他下拉菜單。

+0

試過了......(我把它放在LocalSettings.php中),它沒有在任何一邊工作...... –