GISWiki:MediaWiki anpassen

GISWiki - Das freie Portal für Geoinformatik (GIS)
Wechseln zu: Navigation, Suche

MediaWiki anpassen (1.4.4)

Öffnen externer Seiten in einem neuen Fenster

Interwiki-Links

Jeder Interwiki-Link in der Tabelle "interwiki" in der wikipedia-Datenbank wird nach Erweiterung durch den Text
" TARGET="_blank
in einer neuen Seite geöffnet.

Externe http-Links

  • öffne die Datei / open file /includes/skin.php
  • suche die Funktion / look for function
    function getExternalLinkAttributes
  • ersetze / replace
    $r = ($class != '') ? " class='$class'" : " class='external'";
    durch / by
    $r = ($class != '') ? " class='$class'" : " class='external' target='_blank' ";

Weiterleitung von Suchbegriffen an Suchmaschienen / Suchmaschienen hinzufügen

  • Fülle die Seite z.B. mit folgendem Inhalt:
    * [http://groups.google.de/groups?q=$1&hl=de alle '''Google Newsgroups''' nach "$1" durchsuchen] 

    Wichtig ist der Platzhalter $1. Er nimmt die Suchanfrage im Mediawikikontext auf. Diese Seite ist online beliebig erweiterbar. Der Text kann im MediaWiki-Markup formatiert werden.
  • Öffne die PHP-Datei "SpecialSearch.php" im Unterverzeichniss "includes" des MediaWiki-Installationsverzeichnis.
  • Suche die Funktion "function showResults( $term )"
  • Als zweitletzte Zeile ist die Zeile:
    $wgOut->addWikiText( '<p>' . wfMsg('SearchInSearchEngines', str_replace(" ", "+", $term) ) . "</p>\n" );
    einzusetzen.
  • Als Ergebnis findet sich die Erweiterung der Suchfunktion am Ende der Suchseite.
  • Verbesserungsmöglichkeiten: Leerzeichenbehandlung.

Einfügen eines bearbeitbaren Menüs

Skin MonoBook

Folgendes Beispiel funktioniert nur im Skin MonoBook

  • Fülle diese Seite mit entsprechenden Inhalten mit folgendem Layout im Mediawiki-Stil
  * [[Link]]
  * [[weiterer Link]]
  * [http://www.Link.de http-Link]
  • öffne die Datei skin/Monobook.php
  • suche nach
  <h5><?php $this->msg('navigation') ?></h5>
    <div class="pBody">
      <ul>
        <?php foreach($this->data['navigation_urls'] as $navlink) { ?>
        <li id="<?php echo htmlspecialchars($navlink['id'])
        ?>"><a href="<?php echo htmlspecialchars($navlink['href']) ?>"><?php 
        echo htmlspecialchars($navlink['text']) ?></a></li><?php } ?>
      </ul>
    </div>
  • Ersetze den Text
      <ul>
        <?php foreach($this->data['navigation_urls'] as $navlink) { ?>
        <li id="<?php echo htmlspecialchars($navlink['id'])
        ?>"><a href="<?php echo htmlspecialchars($navlink['href']) ?>"><?php 
        echo htmlspecialchars($navlink['text']) ?></a></li><?php } ?>
      </ul>

durch:

      <?php $this->msgWiki( 'MenuNavigation' ) ?>
  • Das Ergebnis sollte fogendermassen aussehen:
  <h5><?php $this->msg('navigation') ?></h5>
    <div class="pBody">
      <?php $this->msgWiki( 'MenuNavigation' ) ?>
    </div>

MediaWiki anpassen (1.5.x)

Externe Links

Die angebotene Variante für version 1.4 klappt bei 1.5 natürlich nicht, zumal die Funktion jetzt in [YOURwikiURL]/includes/Linker.php liegt.

Folgende Änderung in [YOURwikiURL]/includes/Linker.php (ab Zeile 632) müssen vorgenommen werden:

Vorher

function makeExternalLink($url,$text,$escape=true,$linktype='') {
 $style=$this->getExternalLinkAttributes($url,$text,'external '.$linktype);
 global $wgNoFollowLinks;
 if($wgNoFollowLinks) {
 $style .=' rel="nofollow"';
 }
 $url = htmlspecialchars($url);
 if($escape) {
  $text = htmlspecialchars($text);
 }
 return '<a href="'.$url.'"'.$style.'>'.$text.'</a>';
}

Nachher

function makeExternalLink($url,$text,$escape=true,$linktype='') {
 $style = $this->getExternalLinkAttributes($url,$text,'external '.$linktype);
 global $wgNoFollowLinks;
 if($wgNoFollowLinks) {
 $style .= ' rel="nofollow" target="_blank"';
 }
 $url = htmlspecialchars($url);
 if($escape) {
  $text = htmlspecialchars($text);
 }
 return '<a href="'.$url.'"'.$style.'>'.$text.'</a>';
}

Google Werbung

http://www.how2setup.org/en/wiki/index.php?title=Google_AdSense_in_Wiki