Vorlage:InterProjekt/Doku

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dokumentations-Unterseite Diese Seite ist die Dokumentations-Unterseite der Vorlage:InterProjekt.

Diese Vorlage dient dazu, Links zu Schwesterprojekten ähnlich wie Interwiki-Links anzuzeigen. Die Vorlage erzeugt hierzu eine Box mit den angegebenen Links über der Anzeige der Interwiki-Links in der Seitenleiste. Sie ist nicht für die Verwendung im Artikelnamensraum gedacht.

Kopiervorlage[Bearbeiten]

{{InterProjekt
|meta=
|metaglobal=
|commons=
|b=
|n=
|q=
|s=
|v=
|d=
|wikt=
|voy=
|species=
|incubator=
|mw=
}}

Parameter[Bearbeiten]

Für jeden Parameter muss der Seitenname explizit eingegeben. Hierbei ist zu beachten, dass die lokalisierte Bezeichnung des Zielwikis oder die internationale Bezeichnung für den Namensraum verwendet wird (zum Beispiel User für den Benutzernamensraum). Ein führender Doppelpunkt ist nicht erforderlich.

Pro Schwesterprojekt kann genau ein Link angegeben werden. Bei verschiedensprachigen Schwesterprojekten (wie Wikibooks) kann allerdings auf eine andere Sprache als deutsch verwiesen werden (mit {{InterProjekt|b=en:User:Beispiel}} wird auf das englischsprachige Wikibooks verlinkt).

Programmierung[Bearbeiten]

Damit diese Vorlage funktioniert, muss Javascript aktiviert sein. Um diese Vorlage in ein anderes Wiki zu übertragen, ist folgender Javascript-Code nötig (Siehe auch MediaWiki:Common.js für den aktuellen Code):

/** Code for [[Template:InterProject]] */
mw.loader.using( [ 'mediawiki.util' ], function() { jQuery( document ).ready(function() {
    var iProject = document.getElementById("interProject");
    if(!iProject) return;
    var sistersibling = document.getElementById("p-lang");
    if(!sistersibling) sistersibling= document.getElementById("p-tb");
    if(!sistersibling) return;
    var sisterparent = sistersibling.parentNode;
    var sisterprojectnav = document.createElement("div");
    sisterprojectnav.id = "p-sisterprojects";
    sisterprojectnav.className = sistersibling.className
    sisterprojectnav.innerHTML = '<h5>'+document.getElementById("sisterProjects").firstChild.innerHTML+'</h5><div><ul></ul></div>';
    var sistersiblingsub = sistersibling.getElementsByTagName("div")[0];
    if(sistersiblingsub){
        sisterprojectnav.childNodes[1].className = sistersiblingsub.className;
    } else {
        sisterprojectnav.childNodes[1].className = "pBody";
    }
    var sisternext = document.getElementById("p-lang");
    if ( sisternext && sisternext.parentNode == sisterparent ){
        sisterparent.insertBefore( sisterprojectnav, sisternext );
    }else{
        sisterparent.appendChild(sisterprojectnav);
    }
    var sisterlinks = iProject.getElementsByTagName("a");
    for (var i = 0; i < sisterlinks.length; i++) {
        var sistername = sisterlinks[i].firstChild.nodeValue
        mw.util.addPortletLink('p-sisterprojects', sisterlinks[i].getAttribute("href") + '?uselang=' + mw.config.get( 'wgUserLanguage' ), sistername, "sister-"+ sistername, sistername);
    }
})});
/** End of code for Template:Interproject */