Help:Navigation bar/de: Difference between revisions

From Meta, a Wikimedia project coordination wiki
Content deleted Content added
Spazzo (talk | contribs)
Spazzo (talk | contribs)
Line 5: Line 5:
== Links zur Navigationsleiste hinzufügen ==
== Links zur Navigationsleiste hinzufügen ==


Seit Version 1.4 werden die Links über eine Variable in der <tt>DefaultSettings.php</tt> festgelegt:
Seit Version 1.4 werden die Links über eine Variable mit Arrays in der <tt>DefaultSettings.php</tt> gespeichert.
Dort finden Sie den Eintrag:


<pre>$wgNavigationLinks = array (
<pre>$wgNavigationLinks = array (
array(
array(
</pre>
</pre>
Um die Variable bearbeiten zu können, müssen Sie diese Zeilen in die <tt>LocalSettings.php</tt> kopieren.


Um die Variable bearbeiten zu können, müssen Sie diese Zeilen in die Datei <tt>LocalSettings.php</tt> hineinkopieren.
Die Angaben hinter <tt>text</tt> und <tt>href</tt> beziehen sich jeweils auf MediaWiki-Meldungen. Das heißt beispielsweise, dass sich die Beschriftung des Portallinks auf der Seite [[MediaWiki:Portal]] ändern lässt, der Link kann auf [[MediaWiki:Portal-url]] angepasst werden.


Die Angaben hinter <tt>text</tt> und <tt>href</tt> beziehen sich jeweils auf MediaWiki-Seiten, die entweder bestehen oder neu angelegt werden müssen.
Sie können nun zu der Variable beliebig Zeilen hinzufügen oder ändern. Denken Sie daran, immer auch die entsprechenden MediaWiki-Meldungen anzulegen.
Eine MediaWiki-Seite legt man an, indem man in die Adressleiste beispielsweise eintippt: '''"Meine URL"/index.php/MediaWiki:NeueSeite'''. Es erscheint dann die neue Seite: '''MediaWiki:Neue Seite'''.





'''1. Beispiel:''' Sie wollen in der Navigation einen Link zur Seite ''Inhalt'' anlegen und in der Navigationsleiste soll dieser Link als Eintrag ''Übersicht'' erfolgen. Die Variable könnte man wie folgt in der Datei <tt>LocalSettings.php</tt> anlegen (gekürzt):
'''1. Beispiel:''' Sie wollen in der Navigation einen Link zur Seite ''Inhalt'' anlegen und in der Navigationsleiste soll dieser Link als Eintrag ''Übersicht'' erscheinen. Den neue Arraywert, der in der Datei <tt>LocalSettings.php</tt> für diesen Navigationsleisteneintrag definiert werden muss, könnte man wie folgt anlegen (gekürzt):


<pre>$wgNavigationLinks = array(
<pre>$wgNavigationLinks = array(
Line 26: Line 28:
);</pre>
);</pre>


Beachten Sie das hinter der Zeile <tt>array( 'text'=>'sitesupport' ...</tt> hinzugefügte Komma.
Sie haben also nun einn neuen Arraywert '''array( 'text'=>'contents', 'href'=>'contents-url' )''' angelegt.


Beachten Sie, dass Sie hinter die Zeile des vorletzten Arraywertes <tt>array( 'text'=>'sitesupport' ...</tt> ein Komma setzen, da es sonst zu einer Fehlermeldung kommt, wenn Sie ihre MediaWiki-Website aufrufen.
Im nächsten Schritt muss die Seite ''MediaWiki:Contents'' angelegt werden. In die Adressleiste tragen Sie ein: '''"Meine URL"/index.php/MediaWiki:Contents''' (Statt "Meine URL" tragen Sie Ihre tatsächliche URL ein!).


Im nächsten Schritt muss nun die Seite ''MediaWiki:Contents-url'' angelegt werden. In die Adressleiste tragen Sie ein: '''"Meine URL"/index.php/MediaWiki:Contents''' (Statt "Meine URL" tragen Sie Ihre tatsächliche URL ein!).
Es erscheint nun die neue Seite mit dem Titel ''Contents''.
Klicken Sie auf "Bearbeiten" und tragen Sie ''Übersicht'' in das Textfeld der Seite ein. Speichern Sie die Seite.


Nun muss die Seite ''MediaWiki:Contents-url'' auf die gleiche Weise angelegt werden.
Es erscheint nun die neue Seite mit dem Titel ''Contents-url''.
Klicken Sie auf "Bearbeiten" und tragen Sie in das Textfeld der Seite ein:
Klicken Sie auf "Bearbeiten" und tragen Sie in das Textfeld der Seite ein:


Inhalt
Inhalt

Speichern Sie die Seite.


Nun muss die Seite ''MediaWiki:Contents'' auf die gleiche Weise angelegt werden.
Klicken Sie auf "Bearbeiten" und tragen Sie in das Textfeld der Seite ein:

Übersicht


Speichern Sie die Seite.
Speichern Sie die Seite.


Auf der Navigationsleiste erscheint der Eintrag '''Übersicht'''.
Auf der Navigationsleiste erscheint jetzt der Eintrag '''Übersicht''', der auf die Seite '''Inhalt''' verweist.


Im Hinblick auf das Endergebnis ist es unerheblich, ob Sie wie in diesem Beispiel zuerst die Seite '''MediaWiki:Contents''' oder die Seite '''MediaWiki:Contents-url''' anlegen.


'''2. Beispiel:''' Sie wollen in der Navigationsleiste einen Link zu einer Seite namens ''Themen'' anlegen und diesen Link ebenfalls mit ''Themen'' beschriften:
'''2. Beispiel:''' Sie wollen in der Navigationsleiste einen Link zu einer Seite namens ''Themen'' anlegen und diesen Link ebenfalls mit ''Themen'' beschriften:
Line 54: Line 67:


Zunächst muss die Seite [[MediaWiki:Themen-lnk]] angelegt werden und in deren Textfeld eingetragen werden:
Zunächst muss die Seite [[MediaWiki:Themen-lnk]] angelegt werden und in deren Textfeld eingetragen werden:
Themen
Themen


Anschließend wird die Seite [[MediaWiki:Themen]] angelegt, auf "bearbeiten" klicken und in das Artikel-Textfeld eintragen:
Anschließend wird die Seite [[MediaWiki:Themen]] angelegt, auf "bearbeiten" klicken und in das Artikel-Textfeld eintragen:
Themen
Theman


Auf der Navigationsleiste erscheint nun der Eintrag "Themen", der auf den Artikel "Themen" verweist.
Auf der Navigationsleiste erscheint nun der Eintrag "Themen", der auf den Artikel "Themen" verweist.

Revision as of 00:38, 13 August 2005

Prinzipiell lässt sich die Benutzeroberfläche der Wikis nach Belieben verändern. Oft genügt es, die Stylesheets zu bearbeiten um die Optik zu beeinflussen, doch reicht dies nicht aus, wenn man inhaltliche Änderungen vornehmen will. Um beispielsweise die Links der Navigationsleiste am linken Bildrand zu bearbeiten sind Änderungen im Quelltext nötig.

Hinweis: Alle Angaben beziehen sich auf MediaWiki Version 1.4.0.

Links zur Navigationsleiste hinzufügen

Seit Version 1.4 werden die Links über eine Variable mit Arrays in der DefaultSettings.php gespeichert. Dort finden Sie den Eintrag:

$wgNavigationLinks = array (
    array(

Um die Variable bearbeiten zu können, müssen Sie diese Zeilen in die Datei LocalSettings.php hineinkopieren.

Die Angaben hinter text und href beziehen sich jeweils auf MediaWiki-Seiten, die entweder bestehen oder neu angelegt werden müssen. Eine MediaWiki-Seite legt man an, indem man in die Adressleiste beispielsweise eintippt: "Meine URL"/index.php/MediaWiki:NeueSeite. Es erscheint dann die neue Seite: MediaWiki:Neue Seite.


1. Beispiel: Sie wollen in der Navigation einen Link zur Seite Inhalt anlegen und in der Navigationsleiste soll dieser Link als Eintrag Übersicht erscheinen. Den neue Arraywert, der in der Datei LocalSettings.php für diesen Navigationsleisteneintrag definiert werden muss, könnte man wie folgt anlegen (gekürzt):

$wgNavigationLinks = array(
    ...
    array( 'text'=>'help', 'href'=>'helppage' ),
    array( 'text'=>'sitesupport', 'href'=>'sitesupport-url' ),
    array( 'text'=>'contents', 'href'=>'contents-url' )
);

Sie haben also nun einn neuen Arraywert array( 'text'=>'contents', 'href'=>'contents-url' ) angelegt.


Beachten Sie, dass Sie hinter die Zeile des vorletzten Arraywertes array( 'text'=>'sitesupport' ... ein Komma setzen, da es sonst zu einer Fehlermeldung kommt, wenn Sie ihre MediaWiki-Website aufrufen.

Im nächsten Schritt muss nun die Seite MediaWiki:Contents-url angelegt werden. In die Adressleiste tragen Sie ein: "Meine URL"/index.php/MediaWiki:Contents (Statt "Meine URL" tragen Sie Ihre tatsächliche URL ein!).

Es erscheint nun die neue Seite mit dem Titel Contents-url. Klicken Sie auf "Bearbeiten" und tragen Sie in das Textfeld der Seite ein:

Inhalt

Speichern Sie die Seite.


Nun muss die Seite MediaWiki:Contents auf die gleiche Weise angelegt werden. Klicken Sie auf "Bearbeiten" und tragen Sie in das Textfeld der Seite ein:

Übersicht

Speichern Sie die Seite.

Auf der Navigationsleiste erscheint jetzt der Eintrag Übersicht, der auf die Seite Inhalt verweist.


Im Hinblick auf das Endergebnis ist es unerheblich, ob Sie wie in diesem Beispiel zuerst die Seite MediaWiki:Contents oder die Seite MediaWiki:Contents-url anlegen.

2. Beispiel: Sie wollen in der Navigationsleiste einen Link zu einer Seite namens Themen anlegen und diesen Link ebenfalls mit Themen beschriften:


$wgNavigationLinks = array(
    ...
    array( 'text'=>'help', 'href'=>'helppage' ),
    array( 'text'=>'sitesupport', 'href'=>'sitesupport-url' ),
    array( 'text'=>'themen', 'href'=>'themen-lnk' )
);


Zunächst muss die Seite MediaWiki:Themen-lnk angelegt werden und in deren Textfeld eingetragen werden:

Themen

Anschließend wird die Seite MediaWiki:Themen angelegt, auf "bearbeiten" klicken und in das Artikel-Textfeld eintragen:

Themen

Auf der Navigationsleiste erscheint nun der Eintrag "Themen", der auf den Artikel "Themen" verweist.


Wollen Sie stattdessen einen Hyperlink auf eine Website anlegen, tragen Sie einfach die URL in die MediaWiki-Meldung ein, achten Sie aber dabei darauf, dass die URL mit http:// beginnt. Es sind auf diese Weise auch Links auf die eigene Mediawiki-Site möglich, beispielsweise um Kategorien aufzulisten.

externe Links zur Navigationsleiste hinzufügen

Sie möchten einen Eintrag auf der Navigationsleiste, der auf http://de.wikipedia.org verweist und als "Deutsche Wikipedia" aus der Navigationsleiste erscheint:

$wgNavigationLinks = array (
    array( 'text'=>'mainpage', 'href'=>'mainpage' ),
    array( 'text'=>'portal', 'href'=>'portal-url' ),
    array( 'text'=>'currentevents', 'href'=>'currentevents-url' ),
    array( 'text'=>'mylink', 'href'=>'mylink-url' ),
    array( 'text'=>'help', 'href'=>'helppage' ),
    array( 'text'=>'sitesupport', 'href'=>'sitesupport-url' )
    ...
    array( 'text'=>'externer_Link', 'href'=>'externerLink-url' )
    ...
);

Seite externerLink-url anlegen (in die Adressleiste eintragen: "Meine URL"//index.php/MediaWiki:ExternerLink-url). Auf "Bearbeiten" klicken und eintragen:

http://de.wikipedia.org

Danach Artikel speichern.

Eine Seite Externer_Link" anlegen und in der Seite eintragen:

Deutsche Wikipedia

Auf der Navigationsleiste erscheint nun "Deutsche Wikipedia". Durch Anklicken gelangt man nun direkt zur deutschen Wikipedia

Eine neue Sektion zur Navigationsleiste hinzufügen

In einem neu installierten MediaWiki lassen sich auf der Navigationsleiste folgende Sektionen erkennen: "Navigation", "Suche" und "Werkzeuge", unter Umständen auch "Andere Sprachen". Mit einigen tieferen Eingriffen in den Quelltext lässt sich leicht eine neue Sektion hinzufügen.

Beispielhaftes Ziel dieses Abschnittes soll es sein, eine Sektion "Wichtige Seiten" zu erstellen. Das Durchführen der Prozedur setzt grundlegende PHP- und HTML-Kentnisse voraus.


Schritt 1: Vorbereiten der SkinTemplate-Klasse
Die SkinTemplate.php, die sich im includes-Verzeichnis befindet, enthält die Klasse SkinTemplate, welche über eine Funktion buildNavigationUrls verfügt. Diese Funktion verarbeitet die Variable $wgNavigationLinks (zu finden in DefaultSettings.php) und legt deren Inhalt intern ab.

Die Funktion buildNavigationUrls verarbeitet also letztlich all die Links, die sich in der "Navigation"-Sektion befinden. Legen wir also nun eine neue Funktion nach dem Vorbild der buildNavigationUrls an, um die Links unserer geplanten Sektion "Wichtige Seiten" zu bearbeiten.

  1. Kopieren Sie den kompletten Quelltext der Funktion buildNavigationUrls und fügen Sie ihn am besten direkt unterhalb neu ein. Benennen Sie diese zweite Funktion beispielsweise buildCustomUrls.
  2. Die buildNavigationUrls holt sich die Links aus der Variablen $wgNavigationLinks. Wir werden später eine ähnliche Variable mit dem namen $wgCustomLinks anlegen. Ersetzen Sie die beiden Referenzen auf $wgNavigationLinks in unserer neuen Funktion durch $wgCustomLinks.
  3. Die Funktion buildNavigationUrls wird derzeit lediglich an einer Stelle aufgerufen, nämlich etwas weiter oben am Ende der Funktion outputPage. Dort befinden sich folgende Zeilen:
$tpl->set( 'navigation_urls', $this->buildNavigationUrls() );
$tpl->set( 'nav_urls', $this->buildNavUrls() );
Die erste Zeile bedeutet, dass das Array mit den verarbeiteten Links, das die buildNavigationUrls zurückgibt, intern unter "navigation_urls" abgelegt wird. Das Gleiche müssen wir nun für unsere Funktion buildCustomUrls machen. Fügen Sie also folgende Zeile hinzu:
$tpl->set( 'custom_urls', $this->buildCustomUrls() );


Schritt 2: Hinzufügen der Links
Die Links für den Abschnitt "Navigation" werden in der Variablen $wgNavigationLinks in der DefaultSettings.php abgelegt. Wir brauchen nun ebenfalls eine solche Variable, nämlich die $wgCustomLinks. Da die DefaultSettings.php nicht geändert werden soll, tragen wir die Variable also in der LocalSettings.php ein.

Folgen Sie beim Anlegen der neuen Variablen der Deklaration der $wgNavigationLinks. Weitere Angaben hierzu finden Sie auf dieser Seite im Abschnitt Links zur Navigationsleiste hinzufügen. Zum jetzigen Zeitpunkt könnte die Angabe für unsere $wgCustomLinks beispielsweise so aussehen:

$wgCustomLinks = array (
    array( 'text'=>'contents', 'href'=>'contents-url' )
);

Mit diesem Quelltext würde der im Abschnitt Links zur Navigationsleiste hinzufügen angelegte Link seinen Platz in unserer neuen Sektion finden.

Natürlich können Sie beliebig viele Links eintragen.


Schritt 3: Anpassen des HTML-Quelltextes
Zuletzt muss der Quelltext, der dem Skin zugrunde liegt angepasst werden, um die neue Sektion anzuzeigen. Der Quelltext befindet sich in der MonoBook.php, die im skins-Verzeichnis lagert.

Die einzelnen Sektionen werden jeweils durch <div>-Tags beschrieben und beginnen wie folgt:

Navigation
<div class="portlet" id="p-nav">
Suche
<div id="p-search" class="portlet">
Werkzeuge
<div class="portlet" id="p-tb">

Suchen Sie sich einen Ort für die neue Sektion aus.

  1. Wir haben uns bisher immer an den Quelltext für die Sektion "Navigation" gehalten - so auch jetzt. Kopieren Sie den Quelltext dieser Sektion und fügen Sie ihn an der gewünschten Stelle ein. Die Bezeichnung Navigation wird durch die MediaWiki-Meldung MediaWiki:Navigation erzeugt. Ändern Sie die entsprechende Zeile von
    <h5><?php $this->msg('navigation') ?></h5>
    um zu
    <h5><?php $this->msg('customlinks') ?></h5>
    , sodass die Überschrift unserer neuen Sektion nun durch die MediaWiki-Meldung MediaWiki:Customlinks festgelegt wird. Legen Sie diese Seite zusammen mit den Seiten für die Links in der Sektion (Schritt 2) an, wenn Sie fertig sind.
  2. Außerdem wird der Inhalt unserer neuen Sektion bisher noch aus den intern abgelegten Navigations-Links (data['navigation_urls']) geladen, ändern Sie also die Zeile
    <?php foreach($this->data['navigation_urls'] as $navlink) { ?>
    um in
    <?php foreach($this->data['custom_urls'] as $navlink) { ?>
    (siehe Schritt 1).


Fertig! Die neue Sektion sollte nun verfügbar sein.
Vergessen Sie nicht, die MediaWiki-Meldungen anzulegen.