View source for Layouts

Auch verfügbar in ((../English/Themes English)), ((../Español/Temas Español)), ((../Français/Themes Française)), ((../Русский/Темы Русский)) , ((../简体中文/主题 简体中文))

{{toc numerate=1}}

===Allgemeines über Layouts==
In WackoWiki gibt es die Möglichkeit, um mit Hilfe von eigenen HTML- und CSS-Dateien das Erscheinungsbild (fast) nach Belieben zu ändern. Diese sogenannten Layouts, auch Erscheinungsbild oder Oberflächendesign genannt, befinden sich in den Unterordner ##theme/##.

===Was sind Themen===
file:/ap_appearance_settings_de.png?right&500
WackoWiki erlaubt es jedem, das Aussehen komplett zu verändern, ohne den PHP-Quellcode von WackoWiki zu ändern - dies erfolgt mit den im Themen-Verzeichnis gespeicherten Dateien.

Die Themen definieren das Aussehen aller Seiten in der Installation und können durch Hinzufügen (oder Abändern) der Konfiguration installiert werden.

Die Distribution kommt mit dem Default-Thema,  welches man in der WackoWiki Installation sehen kann.

===Eigene Themen erstellen ==
Wenn die Installation angepasst werden soll, ist es am besten, ein neues Thema zu erstellen.
%%(info type="warning")
Auch wenn sich dein Thema nur geringfügig von Default unterscheidet, **erstelle ein neues Thema immer durch Kopieren** - dies schützt dich davor, dass deine Änderungen bei der Aktualisierung auf die nächsten Versionen des Wikis versehentlich verloren gehen.
%%
Ein neues Thema erstellt man am besten, indem man das alte Thema in ein neues Verzeichnis kopiert und die kopierten Dateien sorgfältig bearbeitet.

====Weitere Layouts==
file:/Dev/Themes/Bluenatic/bluenatic_big.png?right&caption&500
Eine Übersichtsseite aller veröffentlichten Layouts mit Bildschirmabdrücken gibt es im englischen Bereich: 
-> **((/Dev/Themes WackoThemes))**


====Installation von neuen Layouts==
Entpacke die Datei und kopiere den entpackten Ordner in das Verzeichnis: ##theme/##.

===Default-Layout ändern==
file:/wackowiki_r6_de_user_settings_general.png?right&500
Standardmäßig ist das //default//-Layout ausgewählt, das man als Gast und als angemeldeter Benutzer sieht. Das kann in der ((Konfiguration Konfiguration)) geändert werden.

Zudem hat jeder registrierte Benutzer die Möglichkeit, in seinen Einstellungen das Layout zu ändern. Dieses wirkt sich allerdings nur auf seine persönliche Ansicht des Wikis aus.

===Eigenes Layout entwerfen==
====Unterseiten zum Entwerfen eines Layouts==
  * ((/Dev/Projects/Templatest/Usage Usage of Template Engine))
  * ((/Dev/Projects/Templatest/Filters Pulls, Escaper and Filters))
  * ((!/Entwerfen Entwerfen))

====Inhalt der Layoutordner==
Die Dateien sind in folgender Weise aufgeteilt:
%%(wacko wrapper="box" wrapper_align="left" wrapper_width=500)
**theme/**
  * default/
    * appearance/
      * template/
        * footer.tpl
        * footerprint
        * header.tpl
        * headerprint.tpl
        * headerwordprocessor.tpl
      * footer.php
      * footerprint.php
      * footerwordprocessor.php
      * header.php
      * headerprint.php
      * headerwordprocessor.php
    * css/
      * default.css
      * wacko.css
      * wordprocessor.css
      * print.css
    * icon/
      * archive.svg
      * attachment.svg
      * audio.svg
      * ...
    * lang/
      * wacko.all.php
      * wacko.de.php
      * wacko.en.php
      * ...
    * readme
%%
=====Appearance==
wird durch die .php-Dateien im Layout-Unterordner ##theme/neues_layout/appearance/## festgelegt, welche den Kopf und den Fuß eines Wiki-Dokuments am Ende jeder Seite beschreiben, sprich das Layout um den selbst geschriebenen Inhalt.
  * ##**header.php**## - Der Kopf jeder Seite. ++(Name der Seite, und die Lesezeichen sind gewöhnlich dort platziert)++
  * ##**footer.php**## - Der Fuß (das Ende) jeder Seite. ++(Links zum Editieren und andere Angaben sind in der Regel dort untergebracht)++.
  * ##**headerprint.php**## und ##**footerprint.php**## - Kopf- und Fußzeile für den Ausdruck ++(das Layout ist dafür vereinfacht)++
  * ##**headerwordprocessor.php**## und ##**footerwordprocessor.php**## - Kopf- und Fußzeile für LibreOffice ++(ebenfalls sehr einfach gehaltenes Layout)++

=====CSS==
Die .css-Dateien befinden sich im Layout-Unterordner ##theme/neues_layout/css/##. Diese sind von Layout zu Layout sehr unterschiedlich aufgebaut und definieren teilweise auch ganz unterschiedliche Seitenbereiche.
Beim Layout //default// wird in der .css-Datei vorzugsweise das Aussehen von Text und Links festgelegt. Die Formatierung wird über die verschiedenen Klassen (class="name" in der HTML Ausgabe und .name in der CSS) gesteuert.
Bei den Layouts //tabs// und //mambo// sind diese Dateien weitaus größer und komplexer, da hier nicht nur Textformatierungen, sondern auch das Aussehen von einzelnen Tabellen oder weiteren Seitenbereichen festgelegt sind.

=====Icons==
im Ordner ##theme/neues_layout/icon/## eines jedes Layouts werden vom System benutzt, um bestimmte Informationen vereinheitlicht hervorzuheben. Man kann die standardmäßig verwendeten ((Layouts/Symbole==Piktogramme hier ansehen)).

  * ##**xml.svg**## - RSS
  * ##**web.svg**## - Externe Verweise im Wiki
  * ##**mail.svg**## - E-Mail-Adresse
  * ##**file.svg**## - Link auf eine Datei (z.B. mit der Endung .zip o.ä.)
  * ##**lock.svg**## - Verweis auf eine Seite, welche nicht angesehen kann (da dies vom ~Besitzer/Admin nicht gestattet ist)
  * ##**key.svg**## - Verweis auf eine Seite, welche nur eingeloggte Besucher ansehen können
  * ##**favicon.ico**## - Wiki Icon
  * ...

Natürlich können diese Grafiken gegen eigene ersetzt werden.

=====Lang - Die Spracheinstellungen für das Design==
Die Sprachdateien zu den in der ((Lokalisierung Lokalisierung)) beschriebenen Sprachen befinden sich im Ordner ##lang/##.
Zusätzliche neue Wortgruppen, die du in dem neuen Layout benutzen willst, müssen im Unterordner ##theme/neues_layout/lang/## gespeichert sein. Der Name der Datei lautet ##wacko.xy.lang.php##, wobei //xy// für die Sprache steht:

%%(php)<?
//Beispielinhalt der Datei:
$theme_translation = [
  'TextSearchPage' => 'Seite suchen',
  'LoginPage' => 'Anmelden',
];
?>%%

Aufruf im Layout:
%%(php)<?php echo $this->_t('LoginPage'); ?>%%
...Template
%%[ ' _t: LoginPage ' ]%%

=====Konfiguration=====
In der Theme-Konfigurationsdatei lassen sich darüber hinaus eigene Konfigurationsoptionen festzulegen und vorhandene überschreiben.

##lang/wacko.all.php##
%%(php)
<?php
// theme options =========
$this->db->revisions_hide_cancel = 1;
$this->db->site_desc  = 'My Theme for WackoWiki';
$this->db->footer_inside = 0;

// ============================
$theme_translation = [
	'EditIcon' => '...',
	'' => '',
];
%%

====WackoWiki upgraden==
Wenn Du den Ratschlag befolgt hast, ein neues Layout in einem neuen Ordner zu erstellen, anstatt eines der standardmäßigen bestehenden Layouts zu überschreiben, dann werden keine größeren Komplikationen auftreten. Nach der Aktualisierung der Skripte wird Wacko mit Ihrem neuen Layout wie früher funktionieren. Es muss bei Änderungen oder Erweiterungen des CSS möglicherweise das eigene CSS um die neuen Erweiterungen ergänzt werden.

Anders sieht es aus, wenn du das eigene Layout in eines der Standard-Layouts eingefügt habt bzw. ein bestehendes Layout an deine Bedürfnisse angepasst habt. Hierfür gibt es für Windows ((Glossar/W/WinMerge WinMerge)), mit dem ein Text auf Veränderungen untersucht und ergänzt werden kann. Linux/*nix können mit den mitgelieferten Programmen z.B. emacs oder Meld das Problem lösen. Eine einfachere Möglichkeit ist, den alten Ordner mit dem neu erstellten zu ersetzen.

file:/theme_merge_changes_de.png

====Erfolgreich ein neues Layout erstellt?==
Wenn Du ein neues Layout erstellt hast und es auch funktioniert, dann ((https://wackowiki.org/bugs/ sende das neue Layout)) bitte an das ((/Org/Team WackoTeam)). Mit hoher Wahrscheinlichkeit wird dein Design auf diesen Seiten veröffentlicht oder zu der nächsten Version hinzugefügt. Schon im voraus Danke dafür.