Extension/GlobalHeaders: Unterschied zwischen den Versionen

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen
(modified through wikirestore by Sysop)
 
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
=Extension=
=Extension=
{{Extension
{{Extension
|name=GlobalHeaders
|name=GlobalHeaders
|url=https://gitlab.genealogy.net/genwiki/GlobalHeaders
|url=https://gitlab.genealogy.net/genwiki/GlobalHeaders
|wikidataid=
|purpose=Adds a custom global top menu
|purpose=Adds a custom global top menu
|since=2009-05-04
|since=2009-05-04
|state=⚠️
|until=2025-11-15
|state=
|storemode=property
|storemode=property
}}
}}
=Freitext=
= Vorlage und Javascript statt Extension =
= Vorlage und Javascript statt Extension =
* Das Menü wird über die Vorlage [[:Vorlage:GlobalHeader]] beschrieben.
* Das Menü wird über die Vorlage [[:Vorlage:GlobalHeader]] beschrieben.
* Die Formatierung erfolgt mit der [[Extension/CSS]] und den Einstellungen in [[:Vorlage:CSS/GlobalHeader.css]] bzw. [[MediaWiki:Common.css]]
* Die Formatierung erfolgt mit[[MediaWiki:Common.css]]
* Die Einbindung erfolgt über [[MediaWiki:Sitenotice]]
* Die Einbindung erfolgt über [[MediaWiki:Sitenotice]]
* Mit JavaScript [[MediaWiki:Common.js]] wird der Inhalt dann vor den eigentlichen Wiki-Inhalt verschoben - das ist im Prinzip die Hauptaufgabe des bisherigen PHP Codes.
* Mit JavaScript [[MediaWiki:Common.js]] wird der Inhalt dann vor den eigentlichen Wiki-Inhalt verschoben - das ist im Prinzip die Hauptaufgabe des bisherigen PHP Codes.

Aktuelle Version vom 15. November 2025, 16:33 Uhr

Extension

Extension
edit
name  GlobalHeaders
url  https://gitlab.genealogy.net/genwiki/GlobalHeaders
wikidataid  →
purpose  Adds a custom global top menu
since  2009-05-04
until  2025-11-15
comment  
state  ⛔
wiki  →

Freitext

Vorlage und Javascript statt Extension

GlobalHeaders.php

<?php
# Formatierung (Farbe, Hintergrund usw.)
# durch die CSS-IDs:
# menue, menue-row,
# menue-subrow-Datenbanken
# sowie Klassen:
# home-tab, home-tab-link
# db-tab, db-tab-link
#
# Die konkrete Funktionsdeklaration mit den Variablen sind Besonderheiten von Mediawiki
# Entscheidend fuer die Ausgabe ist der finale Zustand 
# der Variablen $html, der hier dem auszugebenden
# Seitenquelltext ($text) angefuegt wird.
function fnAddGlobalHeaders ($skin, &$text) {

# Die globale Variable $wgLang ist ein Spezifikum von Mediawiki und ist in anderen
# Anwendungen entsprechend zu ersetzen. Sie enthaelt u.a. die aktuelle Sprachauswahl
# des Anwenders oder die Standardeinstellung bei fehlender Anmeldung.
   global $wgLang;

# Ermitteln der Spracheinstellung des Benutzers
# Dabei werden Regionalvarianten auf die �blichen zwei Zeichen verk�rzt
# z.B. en-br
# Der Sprachcode ist bei Mediawiki eine Eigenschaft des Objektes $wgLang,
# in anderen Anwendungen entsprechend als Zwei-Zeichen-Code zu ermitteln
$lang = substr($wgLang->getCode(), 0, 2);

# Sollte der Benutzer eine "exotische" (in der XML-Datei nicht vorgesehene) Sprache ausgew�hlt  haben
# -> dann eben auf Englisch, das ist international ueblicher als deutsch
# In der XML-Datei ergaenzte Sprachversionen muessen ins Array hinein, damit sie auch aktiv werden.
if  ( ! in_array ( $lang, array ( 'de', 'en' ) ) )
    $lang='en';

# Lesen der zentralen Konfigurationsdatei f�r die globalen Header
# Diese xml-Datei immer ueber SVN aendern!
$xml = simplexml_load_file('http://svn.genealogy.net/site/genealogy-site.xml');

$html = '<div id="menue"><div id="menue-row">';

# Jetzt wird obere Navi-Zeile aufgebaut
foreach ($xml->section as $section) {
   foreach( $section->link as $link) {
      if( $lang == $link['lang'] ) {
# Der Tooltip wird als Feld tooltip gesucht.
# Falls in der XML-Datei das Feld nicht angegeben wurde, wird das label als tooltip verwendet.
         $tooltip = $link['tooltip'];
         if (strlen($tooltip) == 0) $tooltip = $link['label'];
         $html = $html.'<span class="home-tab"><a class="home-tab-link" title="'.$tooltip.'" href="'.$link['href'].'">'.$link['label']."</a></span>\n";
      }
   }
}
$html = $html."</div>\n";

# Jetzt wird versucht, die zweiten Zeile aufzubauen
# Im GenWiki sind das alle "subsections" des Eintrages "databases"
# Wer andere will, muss den if-Zweig anpassen und die entsprechenden
# Daten in der XML-Datei ggf. ergaenzen!
foreach ($xml->section as $section) {
   if( 'databases' == $section['id'] ) {
      $html = $html."<div id='menue-subrow-Datenbanken'>";
      foreach( $section->subsection as $subsection) {
         foreach( $subsection->link as $link) {
            if( $lang == $link['lang'] ) {
# Der Tooltip wird als Feld tooltip gesucht.
# Falls in der XML-Datei das Feld nicht angegeben wurde, wird das label als tooltip verwendet.
               $tooltip = $link['tooltip'];
               if (strlen($tooltip) == 0) $tooltip = $link['label'];
               $html = $html.'<span class="db-tab"><a class="db-tab-link" title="'.$tooltip.'" href="'.$link['href'].'">'.$link['label']."</a></span>\n";
            }
         }
      }
      $html = $html."</div>\n";
   }
}
$html = $html ."</div>\n";
#$html = $html . "<!-- Piwik -->\n";
#$html = $html . "<script type=\"text/javascript\">\n";
#$html = $html . "var pkBaseURL = ((\"https:\" == document.location.protocol) ? \"https://technik.genealogy.net/piwik/\" : \"http://technik.genealogy.net/piwik/\");\n";
#$html = $html . "document.write(unescape(\"%3Cscript src='\" + pkBaseURL + \"piwik.js' type='text/javascript'%3E%3C/script%3E\"));\n";
#$html = $html . "</script><script type=\"text/javascript\">\n";
#$html = $html . "try {\n";
#$html = $html . "var piwikTracker = Piwik.getTracker(pkBaseURL + \"piwik.php\", 3);\n";
#$html = $html . "piwikTracker.trackPageView();\n";
#$html = $html . "piwikTracker.enableLinkTracking();\n";
#$html = $html . "} catch( err ) {}\n";
#$html = $html . "</script><noscript><p><img src=\"http://technik.genealogy.net/piwik/piwik.php?idsite=3\" style=\"border:0\" alt=\"\" /></p></noscript>\n";
#$html = $html . "<!-- End Piwik Tracking Code -->\n";
#$html = $html ."<img src='http://wiki-test.genealogy.net/w/skins/common/images/genealogy.net.png' style='display:none;' alt='' />\n";

$text = $text . $html;

return true; 
}
?>

genealogy-site.xml

http://svn.genealogy.net/site/genealogy-site.xml

<site xmlns="http://genealogy.net/site" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://genealogy.net/site http://www.genealogy.net/genealogy-site.xsd">
  <section id="home">
    <link lang="de" label="Home" href="https://www.genealogy.net" tooltip="Zur Startseite von genealogy.net" />
    <link lang="en" label="Home" href="https://www.genealogy.net" tooltip="To the main page of genealogy.net" />
  </section>
  <section id="genwiki">
    <link lang="de" label="GenWiki" href="https://wiki.genealogy.net/" tooltip="Das Genealogische Wiki, die Informationszentrale" />
    <link lang="en" label="GenWiki" href="https://wiki.genealogy.net/" tooltip="Genealogical wiki, the information center (in German)" />
  </section>
  <section id="news">
    <link lang="de" label="Zeitschrift" href="https://wiki.genealogy.net/Computergenealogie" tooltip="Die Zeitschrift 'Computergenealogie'" />
    <link lang="en" label="Magazine" href="https://wiki.genealogy.net/Computergenealogie" tooltip="Our magazine 'Computergenealogie' (in German)" />
  </section>
  <section id="Events">
    <link lang="de" label="Veranstaltungen" href="https://team.genealogy.net/group/treffpunkt/event/calendar/" tooltip="Der genealogische Veanstaltungskalender" />
    <link lang="en" label="Events" href="https://team.genealogy.net/group/treffpunkt/event/calendar/" tooltip="Genealogical Event Calendar (in German)" />
  </section>
  <section id="regional">
    <link lang="de" label="Regional" href="https://wiki.genealogy.net/Portal:Regionale_Forschung" tooltip="Unterstützung für die regionale Forschung" />
    <link lang="en" label="Regional research" href="https://wiki.genealogy.net/Portal:Regional_Research" tooltip="Help for regional research (in German)" />
  </section>
  <section id="databases">
    <link lang="de" label="Datenbanken" href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="Die Mitmach-Datenbank-Projekte bei genealogy.net" />
    <link lang="en" label="Databases"   href="https://wiki.genealogy.net/Portal:Databases" tooltip="Join-in database projects at genealogy.net (in German)" />
    <link lang="dk" label="Databaser"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="fr" label="Banques de données"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="se" label="Databaser"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="es" label="Base de datos"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="hu" label="Adatbázisok"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="ro" label="Colecţii de date"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="pl" label="Bank danych"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="sk" label="Databázy"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="nl" label="Databanken"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="ru" label="Банки данных"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="lt" label="Duomenų bankas"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <subsection id="gedbas">
      <link lang="de" label="GEDBAS" href="https://gedbas.genealogy.net" tooltip="Genealogische Datenbasis - gesammelte Personendaten" />
      <link lang="en" label="GEDBAS" href="https://gedbas.genealogy.net?lang=en" tooltip="Genealogical Database - collected personal data (in German)" />
    </subsection>
    <!--subsection>
      <link lang="de" label="FOKO" href="http://foko.genealogy.net" tooltip="Die Aktion Forscherkontakte der DAGV" />
      <link lang="en" label="FOKO" href="http://foko.genealogy.net" tooltip="Contacts to genealogists - a DAGV project (in German)" />
    </subsection-->
    <subsection id="gov">
      <link lang="de" label="GOV" href="https://gov.genealogy.net/?lang=de" tooltip="Das Geschichtliche Ortsverzeichnis - die Datenbank historischer und aktueller Ortsdaten" />
      <link lang="en" label="GOV" href="https://gov.genealogy.net/?lang=en" tooltip="GOV - the historical gazeteer" />
    </subsection>
    <subsection id="ofb">
      <link lang="de" label="OFBs" href="https://ofb.genealogy.net" tooltip="Ortsfamilienbücher online" />
      <link lang="en" label="Local Heritage Book" href="https://ofb.genealogy.net" tooltip="Local Heritage Books - online (in German)" />
      <link lang="fr" label="Parentés et filiations locales" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="se" label="Ortsfamiljeböcker" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="es" label="Libros de familia local" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="hu" label="Családtörténeti könyvek" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="ro" label="Cărţi familiale de localitate" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="pl" label="Miejscowe kroniki rodzinne" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="sk" label="Miestne rodinneéknihy" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="nl" label="Plaatselijke familieboeken" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="ru" label="Местные хроники наследия" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="lt" label="Vietovių registro knygos" href="https://ofb.genealogy.net" tooltip="" />
    </subsection>
    <subsection id="adressbücher">
      <link lang="de" label="Adressbücher" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="Adressbuch-Datenbank" />
      <link lang="en" label="City directories" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="Database of historic city directories addressbooks (in German)" />
<link lang="dk" label="Adressebøger" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="fr" label="Répertoires d`adresses" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="se" label="Adressböcker" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="es" label="Libreta de direcciones" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="hu" label="Címjegyzék" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="ro" label="Cărţi de adrese" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="pl" label="Książki adresowe" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="sk" label="Adresová kniha" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="nl" label="Adresboeken" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="ru" label="Адресные книги" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="lt" label="Adresų knygos" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />


    </subsection>
    <subsection id="familienanzeigen">
      <link lang="de" label="Familienanzeigen" href="https://familienanzeigen.genealogy.net/" tooltip="Die Datenbank abgeschriebener veröffentlichter Familienanzeigen" />
      <link lang="en" label="Personal columns" href="https://familienanzeigen.genealogy.net/" tooltip="Database of transcribed published personal columns (in German)" />
      <link lang="dk" label="Dødsannoncer, fødsler, vielser o.l." href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="fr" label="Annonces de famille" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="se" label="Familjeannonser" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="es" label="Anuncios de familia" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="hu" label="Anuncios de familia" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="ro" label="Anun&#355;uri familiale" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="pl" label="Anonse rodzinne" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="sk" label="Anonse rodzinne" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="nl" label="Familie-aankondigingen" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="ru" label="Газетные объявления семейных событий" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="lt" label="Liudijimai – Metrikai" href="https://familienanzeigen.genealogy.net" tooltip="" />

    </subsection>
    <subsection id="grabsteine">
      <link lang="de" label="Grabsteine" href="https://grabsteine.genealogy.net/" tooltip="Grabstein-Datenbank" />
      <link lang="en" label="Tombstones" href="https://grabsteine.genealogy.net/" tooltip="Find a grave (in German)" />
    </subsection>
    <subsection>
      <link lang="de" label="Verlustlisten 1. WK" href="http://www.verlustlisten.de" tooltip="Erfassungsprojekt Verlustlisten des Ersten Weltkriegs" />
      <link lang="en" label="WW I Casualty List" href="https://des.genealogy.net/eingabe-verlustlisten/search?lang=en" tooltip="Data entry of the WW I Casualty List" />
    </subsection>
    <subsection>
      <link lang="de" label="Metasuche" href="https://meta.genealogy.net" tooltip="Projektübergreifende Suche nach Personen (Name, Lebensorte)" />
      <link lang="en" label="Meta Search" href="https://meta.genealogy.net/?lang=en" tooltip="Searching for persons in all database projects (name, living places)" />
    </subsection>
  </section>
  <section id="digibib">
    <link lang="de" label="DigiBib" href="https://www.digibib.genealogy.net/viewer/" tooltip="Die Digitale Bibliothek - gescannte genealogische Literatur" />
    <link lang="en" label="DigiBib" href="https://www.digibib.genealogy.net/viewer/" tooltip="Digital library - scanned genealogical literature (mostly German)" />
  </section>
  <section id="des">
    <link lang="de" label="DES" href="https://des.genealogy.net" tooltip="Daten-Eingabe-System" />
    <link lang="en" label="DES" href="https://des.genealogy.net" tooltip="Data Entry System" />   
  </section>
  <section id="software">
    <link lang="de" label="Software" href="https://wiki.genealogy.net/Kategorie:Genealogiesoftware" tooltip="Software für Genealogen" />
    <link lang="en" label="Software" href="https://wiki.genealogy.net/Kategorie:Genealogiesoftware" tooltip="Software for genealogists (in German)" />
  </section>
  <section id="mailinglists">
    <link lang="de" label="Kommunikation" href="https://wiki.genealogy.net/Genealogische_Mailinglisten/Discourse" tooltip="Austausch mit anderen Forschern bei genealogy.net" />
    <link lang="en" label="Communication" href="https://discourse.genealogy.net" tooltip="Exchange with other people! " />
  </section>
  <section id="forum">
    <link lang="de" label="Forum" href="https://forum.genealogy.net" tooltip="Das genealogische Forum" />
    <link lang="en" label="Forum" href="https://forum.genealogy.net" tooltip="The genealogical forum (in German)" />
  </section>
  <section id="societies">
    <link lang="de" label="Vereine" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="Übersicht genealogischer Vereine im deutschsprachigen Raum" />
    <link lang="en" label="Societies" href="https://wiki.genealogy.net/Portal:Societies" tooltip="List of genealogical societies in German speaking areas" />
    <link lang="dk" label="Foreninger" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="fr" label="Associations" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="se" label="Föreningar" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="es" label="Asociaciónes" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="hu" label="Szervezetek" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="ro" label="Asociaţii" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="pl" label="Stowarzyszenia" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="sk" label="Združenia" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="nl" label="Verenigingen" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="ru" label="Союзы" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="lt" label="Draugijos" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
  </section>
  <section id="help">
    <link lang="de" label="Hilfen/FAQs" href="https://wiki.genealogy.net/Portal:Praktische_Hilfe" tooltip="Praktische Hilfen für die genealogische Forschung mit und ohne Internet" />
    <link lang="en" label="Help/FAQs" href="https://wiki.genealogy.net/Portal:Praktische_Hilfe"   tooltip="Help for beginning genealogists (in German)" />
  </section>
</site>