<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://dev.contaowiki.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://dev.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andreas</id>
		<title>Contao Community Documentation - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://dev.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andreas"/>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Spezial:Beitr%C3%A4ge/Andreas"/>
		<updated>2026-05-13T11:35:49Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>https://dev.contaowiki.org/TinyMCE</id>
		<title>TinyMCE</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/TinyMCE"/>
				<updated>2014-08-28T20:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Ergänzt um Punkt 3.2, Version angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=2.9.1 - 3.3.5&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
{{stub}}&lt;br /&gt;
=TinyMCE in Contao=&lt;br /&gt;
==Unterschiede TYPOlight vs Contao==&lt;br /&gt;
Während in TYPOlight&lt;br /&gt;
#automatisch die basic.css für TinyMCE eingebunden wird&lt;br /&gt;
#in der basic.css definierte Klassen im Editor übers Format-DropDownMenü ausgewählt werden können&lt;br /&gt;
#Regeln aus der basic.css auch im Editor-Fenster greifen&lt;br /&gt;
&lt;br /&gt;
wird die '''basic.css in Contao nicht mehr standardmäßig eingebunden'''.&lt;br /&gt;
&lt;br /&gt;
Stattdessen gibt es seit Contao die Datei tl_files/tinymce.css.&lt;br /&gt;
#hier definierte Klassen können im Editor übers Format-DropDownMenü ausgewählt werden&lt;br /&gt;
#Regeln aus der tl_files/tinymce.css greifen auch im Editor-Fenster&lt;br /&gt;
#tl_files/tinymce.css wird default im Frontend eingebunden&lt;br /&gt;
{{Hinweis|Im Layout kann eingestellt werden, dass tl_files/tinymce.css nicht ins Frontend eingebunden werden soll.}}&lt;br /&gt;
&lt;br /&gt;
==TinyMCE-Dateien in Contao==&lt;br /&gt;
#tl_files/tinymce.css&lt;br /&gt;
#system/themes/tinymce.css&lt;br /&gt;
#system/config/tinyMCE.php&lt;br /&gt;
&lt;br /&gt;
'''tl_files/tinymce.css''' - Frontend und Formatierung im Texteditor&lt;br /&gt;
*Diese Datei wird per default sowohl im Frontend, als auch im Texteditor im Backend eingebunden.&lt;br /&gt;
*Die hier definierten Regeln können im Frontend durch Regeln aus den Stylesheets der Themes überschrieben werden.&lt;br /&gt;
*In den Layouteinstellungen kann die Einbindung dieses Stylesheets verhindert werden (die Datei wird im Frontend ignoriert).&lt;br /&gt;
*Die definierten Regeln greifen im Editor-Fenster, angesprochene Elemente werden hier also entsprechend formatiert dargestellt.&lt;br /&gt;
*Die definierten Klassen werden im Texteditor übers Format-DropDownMenü zur Auswahl angeboten.&lt;br /&gt;
&lt;br /&gt;
'''system/themes/tinymce.css''' - Formatierung im Texteditor&lt;br /&gt;
*Diese Datei wird per default über tinyMCE.php in den Texteditor eingebunden.&lt;br /&gt;
*Ihre Regeln gelten also ebenfalls für die Darstellung im Texteditor.&lt;br /&gt;
&lt;br /&gt;
'''system/config/tinyMCE.php''' - Einstellungen des TinyMCE&lt;br /&gt;
*Änderungen sind nicht updatesicher, da diese Datei bei einem Update überschrieben wird.&lt;br /&gt;
&lt;br /&gt;
Für eine '''updatesichere''' Modifizierung der Einstellungen verfährt man wie folgt:&lt;br /&gt;
#tinyMCE.php duplizieren und umbenennen in zum Beispiel '''tinyMCE_custom.php'''&lt;br /&gt;
#Die eigene Datei tinyMCE_custom.php über system/config/dcaconfig.php in Contao einbinden&lt;br /&gt;
#Eintrag in der system/config/dcaconfig.php&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Die eigene RTE-Konfiguration verwenden für Text-Elemente&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyMCE_custom';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Näheres dazu weiter unten auf dieser Seite [[TinyMCE#Updatesicheres_Anpassen_der_system.2Fconfig.2FtinyMCE.php|Updatesicheres Anpassen der system/config/tinyMCE.php]]&lt;br /&gt;
&lt;br /&gt;
*Cache leeren und evtl. Abmelden und wieder Anmelden bzw. sogar Browser-Neustart, oder '''Shift + Mausklick auf 'Seite neu laden''''&lt;br /&gt;
[http://www.contao-community.de/showthread.php?10392-TinyMCE-einzelne-Felder-ausblenden Siehe auch MacKP im Forum zu diesem Thema]&lt;br /&gt;
&lt;br /&gt;
=Mit dem TinyMCE arbeiten=&lt;br /&gt;
==Bereitstellung von CSS-Klassen im Editor==&lt;br /&gt;
Um im TinyMCE Elemente mit vorbereiteten Klassen auszuzeichnen, ohne in den Quellcode gehen zu müssen, kann man die Datei tl_files/tinymce.css bearbeiten.&lt;br /&gt;
&lt;br /&gt;
Klassen, die hier definiert werden, können direkt im TinyMCE übers Format-DropDownMenü ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tl_files_tinymce-css.png‎|Die CSS-Datei tl_files/tinymce.css|center|frame|Anpassen der tinymce.css Datei]]&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|ID-Selektoren wie z.B. '''#meineID, #raute ...''' werden '''nicht''' im Format-DropDownMenü angezeigt. Nur Klassen-Selektoren wie z.B. '''.meineKlasse, .warning ...'''.}}&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tinymce-klassenauswahl.png||center|frame|Ansicht des TinyMce im Backend]]&lt;br /&gt;
&lt;br /&gt;
Elemente, welche man mit diesen Klassen auszeichnet, werden nun im Editor und im Frontend entsprechend formatiert dargestellt.&lt;br /&gt;
&lt;br /&gt;
Jede dieser Regeln kann mit einer Regel aus einem anderen Stylesheet der jeweiligen Seite wieder überschrieben werden ('''C'''as'''C'''ading-'''S'''tylesheet = CSS).&lt;br /&gt;
[[Datei:Tinyklassen-frontend.png|center|frame|Frontendansicht]]&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann die tl_files/tinymce.css in jedem Seitenlayout auch ignoriert (nicht eingebunden) werden.&lt;br /&gt;
[[Datei:Tinymce-css-ignorieren.png|center|frame|Einstellungsmöglichkeit im Seitenlayout]]&lt;br /&gt;
&lt;br /&gt;
{{Achtung|Wenn man in einem Layout eingestellt hat, dass die tl_files/tinymce.css ignoriert wird, dann stehen die definierten Klassen zwar weiterhin im Editor zur Verfügung (Format-DropDownMenü) und werden auch entsprechend formatiert dargestellt, aber die tl_files/tinymce.css wird dann nicht mehr im Frontend eingebunden.}}&lt;br /&gt;
&lt;br /&gt;
==Spezieller Selektor nur für den Editor-Inhalt==&lt;br /&gt;
Der Editor-Inhalt ist eine eigene HTML-Seite und wird in einem IFRAME dargestellt. Das BODY-Element dieser Seite besitzt die ID ''''tinymce'''' sowie die Klasse ''''mceContentBody''''. Mit den Selektoren '''#tinymce''' sowie '''.mceContentBody''' kann somit der Inhalt des Editors individuell gestaltet werden. Das wird z.B. dafür benötigt, um den Hintergrund zu formatieren, wenn man die Ansicht im Editor der Ansicht im Frontend angleichen möchte. Die Inhalte im Frontend befinden sich ja innerhalb des HTML-Frameworks, welches im Editor-Inhalt so nicht vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
Quelle: [http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/content_css#TinyMCE_specific_rules TinyMCE:Configuration/content css#TinyMCE specific rules - Moxiecode Documentation Wiki]&lt;br /&gt;
&lt;br /&gt;
=TinyMCE anpassen=&lt;br /&gt;
&lt;br /&gt;
==Updatesicheres Anpassen der system/config/tinyMCE.php==&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Direkte Änderungen in der tinyMCE.php sind nicht updatesicher.}}&lt;br /&gt;
&lt;br /&gt;
Um updatesicher Anpassungen vornehmen zu können, kann man folgenden Weg gehen:&lt;br /&gt;
#system/config/tinyMCE.php wird dupliziert und in tinyCustom.php umbenannt&lt;br /&gt;
#system/config/tinyCustom.php kann nun editiert werden.&lt;br /&gt;
&lt;br /&gt;
Damit die tinyCustom.php (anstatt der tinyMCE.php) dann auch benutzt wird, kann '''updatesicher''' folgender Eintrag in der '''system/config/dcaconfig.php''' vorgenommen werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Die eigene RTE-Konfiguration verwenden für Text-Elemente&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nun wird für den Texteditor im Backend nicht mehr die Original-Einstellungsdatei eingebunden, sondern die neu angelegte Datei tinyCustom.php&lt;br /&gt;
&lt;br /&gt;
Obiger Eintrag gilt nur für den Editor im Inhaltselement vom Typ Text. Sollen die Veränderungen auch in anderen Modulen wirksam werden, müssen folgende Anweisungen hinzugefügt werdeen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Die eigene RTE-Konfiguration verwenden für&lt;br /&gt;
  //Artikel-Teaser&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_article']['fields']['teaser']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Events-Details&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['details']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Kommentare&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_comments']['fields']['comment']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Text-Elemente&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // FAQs&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_faq']['fields']['answer']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Formulare&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_form_field']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // News&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_news']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Newsletter-HTML&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_newsletter']['fields']['content']['eval']['rte'] = 'tinyNewsletter';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ab Contao 3 gilt für News und Events die folgende Angabe. Alle anderen Angaben können nach wie vor weiterverwendet werden.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  // Events-Teaser&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['teaser']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // News-Teaser&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_news']['fields']['teaser']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meistens wird ein abgespeckter, modifizierter TinyMCE-Editor nur für Redakteure (Nicht-Admins) angeboten. Dazu muss man obigen Code noch ein wenig erweitern:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Nur für Non-Admins.&lt;br /&gt;
$this-&amp;gt;import('BackendUser', 'User');&lt;br /&gt;
&lt;br /&gt;
if(!$this-&amp;gt;User-&amp;gt;isAdmin)&lt;br /&gt;
{&lt;br /&gt;
// Die eigene RTE-Konfiguration verwenden für&lt;br /&gt;
  //Artikel-Teaser&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_article']['fields']['teaser']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Events-Details&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['details']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Kommentare&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_comments']['fields']['comment']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Text-Elemente&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // FAQs&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_faq']['fields']['answer']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Formulare&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_form_field']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // News&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_news']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TinyMCE - Globales Ersetzen von tinyMCE.php durch tinyCustom.php==&lt;br /&gt;
Möchte man alle Felder bei denen der Flag 'rte' auf 'tinyMCE' gesetzt ist mit einer eigenen tinyCustom.php betreiben, ohne die Felder zu kennen, kann man das mit diesem Code in der system/config/dcaconfig.php erreichen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Use tinyCustom for all textareas that use tinyMCE - info@andreasburg.de&lt;br /&gt;
array_walk_recursive($GLOBALS['TL_DCA'], function(&amp;amp;$v, $k){&lt;br /&gt;
  if($k === 'rte' &amp;amp;&amp;amp; $v === 'tinyMCE')&lt;br /&gt;
  {&lt;br /&gt;
    $v = 'tinyCustom';&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TinyMCE - Contao - basic.css==&lt;br /&gt;
{{Hinweis|In früheren Versionen (TYPOlight) wurde automatisch die basic.css (sofern diese vorhanden war) eingebunden. Dadurch gab es die in der basic.css definierten Klassen im Editor zur Auswahl und die Regeln wurde auch im Editor angewendet.}}&lt;br /&gt;
&lt;br /&gt;
Nina hat hier auch einen schönen Beitrag über TYPOlight geschrieben - inklusive Beispiel basic.css als Reset-Stylesheet.&lt;br /&gt;
[http://www.contao.org/blog-leser/items/wie-man-die-basiccss-fuer-den-rich-text-editor-einsetzt.html Wie man die basic.css für den Rich Text Editor einsetzt]&lt;br /&gt;
&lt;br /&gt;
Wenn weiterhin die basic.css für den TinyMCE benutzt werden soll, verfährt man wie folgt.&lt;br /&gt;
&lt;br /&gt;
Einbinden der basic.css in den Texteditor über die Konfigurations-Datei tinyCustom.php:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
content_css : &amp;quot;&amp;lt;?php echo TL_PATH; ?&amp;gt;/system/themes/tinymce.css,&amp;lt;?php echo TL_PATH;?&amp;gt;/basic.css,&amp;lt;?php echo TL_PATH .'/'. $this-&amp;gt;uploadPath; ?&amp;gt;/tinymce.css&amp;quot;,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun greifen die Regeln aus der basic.css auch im Texteditor (und im Frontend, sofern die basic.css ins Frontend eingebunden ist).&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Hierbei ist zu bedenken, dass es bei Contao nun nicht mehr eine basic.css gibt, die auf jeder Seite eingebunden werden kann, da nur in einem Theme eine basic.css erstellt werden kann.}}&lt;br /&gt;
&lt;br /&gt;
Oder man kopiert die Regeln aus der basic.css in das Stylesheet tl_files/tinymce.css.&lt;br /&gt;
Sofern dieses Stylesheet vom Layout nicht ignoriert wird, wird es ja sowohl vom Frontend als auch vom TinyMCE benutzt.&lt;br /&gt;
&lt;br /&gt;
Allerdings kann dieses Stylesheet nicht über den Stylesheetgenerator von Contao bearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Aber gibt es da nicht auch eine Erweiterung?&lt;br /&gt;
&lt;br /&gt;
==TinyMCE PopUps anpassen (Tabs &amp;quot;löschen&amp;quot;)==&lt;br /&gt;
Wenn man bestimmte Felder (oder sonstiges) bei den PopUps (Beispiel: Tabelleneigenschaften) ausblenden möchte, muss man in der TinyMCE-Konfigurationsdatei folgenden Eintrag einbauen:&lt;br /&gt;
{{Hinweis|Der Pfad ist frei wählbar. Wichtig ist, dass man ihn, respektive die Datei, &amp;quot;von außen&amp;quot; erreichen kann. Daher eignet sich &amp;quot;tl_files&amp;quot; am ehesten. Der Dateiname ist auch frei wählbar.}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
tinyMCE.init({&lt;br /&gt;
        ...&lt;br /&gt;
        popup_css_add : &amp;quot;&amp;lt;?php echo TL_PATH; ?&amp;gt;/tl_files/tinyMCE/tinyMCE_popup.css&amp;quot;,&lt;br /&gt;
        ...&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun kann man in der betreffenden CSS-Datei die Einstellungen vornehmen. Ausblenden via &amp;quot;display: none;&amp;quot;. Auch Hintergrundfarben, Schriftarten (etc) kann man bestimmen. Einfach alles, was CSS unterstützt. Die CSS-Klassen/IDs kann man ganz einfach via Firebug oder sonstigen Entwickler-Plugins in den Browsern auslesen.&lt;br /&gt;
&lt;br /&gt;
Um das Tab &amp;quot;Erweitert&amp;quot; bei den Tabelleneigenschaften auszublenden, ist z. B. folgender Eintrag zuständig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
#advanced_tab { display: none; }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TinyMCE konfigurieren==&lt;br /&gt;
Die tinyMCE.php (bzw. wie im Beispiel die tinyCustom.php) bietet ebenfalls interessante Möglichkeiten um das Erscheinungsbild des Editors anzupassen.&lt;br /&gt;
Hier können z.B. Buttons deaktiviert werden, um nicht benötigte Funktionen zu entfernen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Voraussetzung ist eine zuvor erstellte tinyCustom.php, wie im Abschnitt [[#Updatesicheres_Anpassen_der_system/config/tinyMCE.php|Updatesicheres Anpassen der system/config/tinyMCE.php]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Contao Standard TinyMCE'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tinymce-standard.png|center|frame|Standardausgabe von tinyMCE.php]]&lt;br /&gt;
&lt;br /&gt;
'''Quellcodeauszug aus der tinyMCE.php'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
theme_advanced_buttons1 : &amp;quot;newdocument,save,separator,spellchecker,separator,anchor,separator,typolinks,unlink,separator,image,typobox,separator,sub,sup,separator,abbr,acronym,separator,styleprops,attribs,separator,search,replace,separator,undo,redo,separator,removeformat,cleanup,separator,code&amp;quot;,&lt;br /&gt;
theme_advanced_buttons2 : &amp;quot;formatselect,fontsizeselect,styleselect,separator,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,indent,outdent,separator,blockquote,separator,forecolor,backcolor&amp;quot;,&lt;br /&gt;
theme_advanced_buttons3 : &amp;quot;tablecontrols,separator,template,separator,charmap,emotions,separator,help&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Über /system/config/tinyCustom.php angepasster TinyMCE'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tinymce-angepasst.png|center|frame|Angepasste tinyCustom.php]]&lt;br /&gt;
&lt;br /&gt;
'''Quellcodeauszug aus der tinyCustom.php'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
theme_advanced_buttons1 : &amp;quot;code,removeformat,separator,typolinks,unlink,separator,image,typobox,separator,sup,separator,formatselect,styleselect,separator,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,separator,forecolor&amp;quot;,&lt;br /&gt;
theme_advanced_buttons2 : &amp;quot;&amp;quot;,&lt;br /&gt;
theme_advanced_buttons3 : &amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alle Konfigurationsmöglichkeiten findet man auf der Entwickler-Seite:&lt;br /&gt;
[http://wiki.moxiecode.com/index.php/TinyMCE:Configuration TinyMCE:Configuration - Moxiecode Documentation Wiki]&lt;br /&gt;
&lt;br /&gt;
Über das [http://www.delusionworld.com/files/tinymce_rte-config-utility/ TinyMCE RTE Button configuration utility] kann man sich sehr schnell und einfach eine neue Menükonfiguration zusammenstellen.&lt;br /&gt;
&lt;br /&gt;
==TinyMCE Anführungszeichen automatisch ersetzen==&lt;br /&gt;
Wenn man Texte vorwiegend in Word verfasst, oder diese zur Verfügung gestellt bekommt, kopiert man meist den Text in Inhaltselemente. Dabei werden die Word-eigenen Formatierung und Zeichen übernommen. Das sind die folgenden Zeichen: „ / “ / ” / ‚ / ‘ / ’&lt;br /&gt;
&lt;br /&gt;
Beim Erstellen eines Textes im TinyMCE werden aber nur die folgenden Zeichen verwendet: ' / &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Will man Word-eigenen Anführungszeichen nun nicht haben ändert man in der Konfigurationsdatei die Zeile mit&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
entities : &amp;quot;160,nbsp,60,lt,62,gt,173,shy&amp;quot;,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
entities : &amp;quot;160,nbsp,60,lt,62,gt,173,shy,8216,quot,8217,quot,8218,quot,8220,quot,8221,quot,8222,quot&amp;quot;,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Nun werden die speziellen Anführungszeichen automatisch beim Einfügen eines kopierten Textes durch &amp;quot; ersetzt.&lt;br /&gt;
{{Hinweis|Nach 'shy' geht es los mit den zusätzlichen Zeichen. Die ersten 3 Ersetzungen sind für einfache Anführungszeichen, die letzten 3 für die doppelten (ggf. entsprechendes entfernen, wenn man was nicht will).}}&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit ist das Einbinden des kleinen [http://www.dream-a-bit.de/plugin-fuer-deutsche-und-franz-anfuehrungszeichen.html Tiny-Plugins von Jürgen Hofs], mit dem deutsche und französische An-/Abführungszeichen bequem über einen Tiny-Button eingefügt werden können. (Markierter Text oder Cursor-Position wird von An- und Abführungszeichen umschlossen.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quellenangaben==&lt;br /&gt;
[http://blog.netprofit.de/contao-anpassen-3-wenig-bekannte-tipps.html blog.netprofit.de]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://dev.contao.org/projects/typolight/wiki/TutorialsCssImEditorVerwenden Vorhandene Stylesheets in TinyMCE nutzbar machen]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.contao.org/blog-leser/items/wie-man-die-basiccss-fuer-den-rich-text-editor-einsetzt.html Wie man die basic.css für den Richt-Text-Editor einsetzt]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Online-Shops</id>
		<title>Online-Shops</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Online-Shops"/>
				<updated>2014-08-12T18:33:57Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Vergleichstabelle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Extensions]]&lt;br /&gt;
Auf dieser Seite soll ein Überblick über die bestehenden Shop-Lösungen für Contao entstehen.&lt;br /&gt;
&lt;br /&gt;
{{Anmerkung|An alle Entwickler: Bitte haltet diese Seite aktuell. Vielen Dank.}}&lt;br /&gt;
&lt;br /&gt;
{{Achtung|Der ch_shop nutzt die veraltete Erweiterung 'Katalog', die nicht mehr weiterentwickelt wird. Es ist keine gute Idee, damit einen neuen Shop aufzusetzen.}}&lt;br /&gt;
== Vergleichstabelle ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
! Kompatibilität !! [http://www.contao-webshop.de/software.html Contao webShop&amp;lt;br /&amp;gt;Community Edition] !! [http://www.contao-webshop.de/software.html Contao webShop&amp;lt;br /&amp;gt;Business Edition] !! [http://isotopeecommerce.org Isotope&amp;lt;br /&amp;gt;eCommerce] !! [http://www.delahaye.de/chshop.html chShop] !! [http://www.contao-acquisto.de/de/ acquistoShop] !! [http://www.merconis.com/ MERCONIS]&lt;br /&gt;
|-&lt;br /&gt;
| Shop/Contao, Shop/Contao ||  ||  ||  || 0.1.1-beta1 / 2.9.3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Kategorien !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| beliebige Haupt- und Unterkategorien || Ja || Ja || Ja || via [[Catalog|Katalog-Extension]] || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Kategoriebeschreibung || Ja || Ja || Ja, über Artikel || via [[Catalog|Katalog-Extension]] || Ja || Ja, über Artikel&lt;br /&gt;
|-&lt;br /&gt;
| Kategoriebild hinzufügen || Ja || Ja || Ja, über Artikel || via [[Catalog|Katalog-Extension]] || Ja || Ja, über Artikel&lt;br /&gt;
|-&lt;br /&gt;
| geschützte Kategorien für Kundengruppen || Ja || Ja || Ja, über Seitenstruktur || via [[Catalog|Katalog-Extension]] || Ja || Ja, über Seitenstruktur&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Artikelverwaltung !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Artikel || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Produktgruppen || Ja || Ja || Ja || via [[Catalog|Katalog-Extension]] || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Artikel mit Varianten || Nein || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Artikel mit beliebigen Produktkonfiguratoren || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Artikel in mehreren Kategorien || Nein || Ja || Ja || via [[Catalog|Katalog-Extension]] || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Downloadartikel || Nein || Ja || Ja || Bezahlte Inhalte || Ja || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Artikelfilter / Produktfinder || Nein || Ja || Ja (ab v1.3) || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Artikel TagCloud || Ja || Ja || Nein || Nein || Ja || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Artikelempfehlungen (zu Artikel x paßt Artikel y) || Ja || Ja || Ja || via [[Catalog|Katalog-Extension]] || Nein || Ja (s. auch Cross Selling)&lt;br /&gt;
|-&lt;br /&gt;
| Artikel als NEU markieren || Ja || Ja || Ja (Anpassung) || via [[Catalog|Katalog-Extension]] || Ja (Artikelzustand) || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Artikel als ANGEBOT markieren || Ja || Ja || Ja (Anpassung) || via [[Catalog|Katalog-Extension]] || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Artikelnummern || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Artikelnummern je Variante || Nein || Ja || Ja || automatisch generiert || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Artikelbild hinzufügen || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Artikelbild je Variante hinzufügen || Nein || Ja || Ja || Ja || Nein || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bildergalerie mit Zoomfunktion || Nein || Ja || Ja || via [[Catalog|Katalog-Extension]] || Ja (nur Bildgalerie) || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bildergalerie mit Video || ? || ? || via Erweiterung (v1.3) || Nein || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bildergalerie je Variante || Nein || Ja || Ja || Nein || Nein || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bildergalerie mit Slider || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bildergalerie mit Reitern (Tabs) || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Lagerbestand mit optionalem Abverkauf || Ja || Ja || Nein || Nein || Nein &amp;gt; [http://contao-acquisto.de/de/aktuelle-projekte.html Wir sammeln spenden für die Entwicklung] || ?&lt;br /&gt;
|-&lt;br /&gt;
| Lagerbestandsverwaltung || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Benachrichtigung bei Mindestlagerbestand || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Einzelpreis || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Einzelpreis je Variante || Nein || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Sonderpreis || Ja || Ja || via Preisregeln || via [[Catalog|Katalog-Extension]] || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Sonderpreis je Variante || Nein || Ja || via Preisregeln || via [[Catalog|Katalog-Extension]] || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Sonderpreise für Kundengruppen || Ja || Ja || ab v1.3 || via [[Catalog|Katalog-Extension]] || Nein &amp;gt; [http://contao-acquisto.de/de/aktuelle-projekte.html Wir sammeln spenden für die Entwicklung] || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Sonderpreise für Kundengruppen je Variante || Nein || Ja || ab v1.3 || via [[Catalog|Katalog-Extension]] || Nein &amp;gt; [http://contao-acquisto.de/de/aktuelle-projekte.html Wir sammeln spenden für die Entwicklung] || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Staffelpreise || Ja || Ja || ab v1.3 || Nein || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Staffelpreise je Variante || ? || ? || ? || ? || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Grundpreis (je kg, Liter etc.) || Ja || Ja || Nein || via [[Catalog|Katalog-Extension]] || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Gewicht zur Berechnung der Versandkosten || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Steuersatz auswählbar || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;Twittern&amp;quot;-Button || Ja || Ja || via Contao || Nein || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;Like it&amp;quot;-Facebook-Button || Ja || Ja || via Contao || Nein || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Recently Viewed (Zuletzt angeschaut) || ? || ? || ? || ? || Ja || Ja (s. auch Cross Selling)&lt;br /&gt;
|-&lt;br /&gt;
| Vordefinierte Attribute || ? || ? || ? || ? || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Produkauktionen || ? || ? || ? || ? || Ja (benötigt Addon Acquisto Auktionen &amp;gt; 30,- EUR) || Nein&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Mehrsprachenfähigkeit !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Mehrsprachenfähig || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Gutscheine !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Allgemeiner Gutschein || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Gutschein für einen Kunden || Ja || Ja || Ja || Nein || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Gutscheincode vorgeben || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Gutscheincode autom. generieren lassen || Ja || Ja || Nein || Nein || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Gutscheinwert in Euro oder Prozent || Ja || Ja || Ja || Ja || Nein || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Nutzung zeitlich limitieren || Ja || Ja || Ja || Nein || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Nutzung in der Anzahl limitieren || Ja || Ja || Ja || Ja || Ja || Nein&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Steuern !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Steuerzonen || Ja || Ja || Nein || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Steuerklassen || Ja || Ja || Ja || Nein || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Steuersätze || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Versand !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Versandzonen || Ja || Ja || Nein || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Versandoptionen || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Berechnung nach Gewicht mit Staffelmöglichkeit || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Berechnung nach Preis mit Staffelmöglichkeit || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Berechnung nach Verpackungseinheiten mit Staffelmöglichkeit || Nein || Nein || Nein || Ja || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Versandtrackinginformationen in Nachrichten || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zahlungsmodule !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Rechnung/Vorauskasse/Nachnahme  || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| PayPal Standard || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| PayPal Payflow Pro || Nein || Nein || Ja || Nein || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| sofortueberweisung.de || Ja || Ja || via Erweiterung || Nein || Ja || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Authorize.Net || Nein || Nein || Ja || Nein || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Postfinance || Nein || Nein || Ja || Nein || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Cybersource || Nein || Nein || Ja || Nein || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Saferpay || Ja || Ja || via Erweiterung || Nein || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| PayOne || Nein || Nein || via Erweiterung || ? || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| ExperCash || Nein || Nein || via Erweiterung || ? || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| ePay || ? || ? || Ja/via Erweiterung (v1.3) || ? || ? || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Sparkasse/Postbank || ? || ? || via Erweiterung || ? || ? || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Datatrans || ? || ? || via Erweiterung || ? || ? || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Volksbanken Karten/ELV/Giropay || Nein || Nein || Nein || Ja || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Rabattmöglichkeit in Euro oder Prozent || Ja || Ja || Ja || Ja || Nein || Ja&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Cross Selling !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Direkte Produktauswahl || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Dynamisch nach Kriterien || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Zubehörteile || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Zuletzt gesehen || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Empfohlene Produkte || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Bestellungen &amp;amp; Kundenverwaltung !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Gastzugang bzw. -bestellung || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| autom. Versand der Bestellbestätigung || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| inkl. AGB und Widerrufsbelehrung als PDF || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bestellhistorie im Frontend und Backend || Ja || Ja || Ja || Ja || im BE - FE in entwicklung || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bestellstatus veränderbar || Ja || Ja || Ja || Ja || Nein &amp;gt; [http://contao-acquisto.de/de/aktuelle-projekte.html Wir sammeln spenden für die Entwicklung] || Ja&lt;br /&gt;
|-&lt;br /&gt;
| erweiterte Kundendaten || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| beliebige Lieferadressen || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Kundengruppen || Ja || Ja || Mitgliedergruppen || Mitgliedergruppen || Ja || Mitgliedergruppen&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Nachrichtenmanagement !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Beliebige Nachrichten erstellbar || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bestellbestätigung an Kunde || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bestellinfo an Shopbetreiber || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Versandbestätigung || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Bestätiung für Zahlungseingang || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Beliebige dynamisch generierte PDF-Anhänge || ? || ? || ? || ? || ? || Ja&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Einstellungen !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Länderinformationen || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Währungsangaben || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Preisanzeige (brutto/netto) || Ja || Ja || ? || Ja || Nein || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Mindestbestellwert || Ja || Ja || Ja (v1.3) || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Rabattsystem || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| E-Mail Versandeinstellungen || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Exportschnittstellen/Anbindung !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Google Shopping || Ja || Ja || via Erweiterung || Nein || Ja || Nein&lt;br /&gt;
|-&lt;br /&gt;
| billiger.de || ? || ? || ? || ? || Ja || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Veha24 Warenwirtschaft || Ja || Ja || Nein || Nein || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Cash Software (Warenwirtschaft &amp;amp; Kasse) || Ja || Ja || Nein || Nein || Nein || Nein&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Lizenzierung !! Contao webShop&amp;lt;br /&amp;gt;Community Edition !! Contao webShop&amp;lt;br /&amp;gt;Business Edition !! Isotope&amp;lt;br /&amp;gt;eCommerce !! chShop !! acquistoShop !! MERCONIS&lt;br /&gt;
|-&lt;br /&gt;
| Demo-Shop Template &amp;amp; Layout inkl. || Ja || Ja || Ja || ohne Layout || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Support per E-Mail || Nein || Ja || Nein || Nein || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Support per Forum || Ja || Ja || Ja || Ja || Ja || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Support per Ticketsystem || Ja || Ja || Ja || Nein || Nein || Ja&lt;br /&gt;
|-&lt;br /&gt;
| Lizenz || EULA || EULA || LGPL || LGPL || LGPL || EULA&lt;br /&gt;
|-&lt;br /&gt;
| '''Preis netto''' || '''0,00 €''' || '''499,00 €''' || '''0,00 €''' || '''0,00 €''' || '''0,00 €''' || '''189,00 € / 389,00 €'''&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel_4</id>
		<title>MetaModels Beispiel 4</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel_4"/>
				<updated>2014-08-07T20:02:16Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Weiteres MetaModel einrichten=&lt;br /&gt;
Wer mit Catalog arbeitet, ist es gewohnt, Selects einzusetzen, um Datensätze zu kategorisieren. In unserem Fall wäre es z.B. sinnvoll, unsere Musikstücke bestimmten Stilrichtungen zuzuordnen. &amp;lt;br&amp;gt;&lt;br /&gt;
Bei Catalog wird hierfür die Erweiterung [https://contao.org/de/extension-list/view/taxonomy.10089.de.html Taxonomy] eingesetzt, um Hierarchien von Taxonomie-Bedingungen (oder besser bekannt als Tags) zu erstellen, die dann über ein Select bei der Datensatz-Erfassung abgerufen werden können. Im Wesentlichen wird über Taxonomy eine separate Tabelle mit den später abzurufenden Kategorien erfasst. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit MetaModels entfällt der Rückgriff auf Taxonomy. Mit MetaModels kann man eigene Tabellen erfassen, die die Einträge der HTML-Selects enthalten.&lt;br /&gt;
&lt;br /&gt;
===Vorgehensschritte===&lt;br /&gt;
# [[MetaModels|Start: Installation]] - Download und Installation von MetaModels&lt;br /&gt;
# [[MetaModels_Beispiel_1|Beispiel 1: Backend einrichten]] - MetaModel erstellen, Daten erfassen&lt;br /&gt;
# [[MetaModels_Beispiel_2|Beispiel 2: Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3|Beispiel 3: Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4|Beispiel 4: Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
&lt;br /&gt;
=Neues MetaModel erstellen=&lt;br /&gt;
&lt;br /&gt;
==Leeres MetaModel==&lt;br /&gt;
[[File:mm_neues_metamodel.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Wir beginnen damit, dass wir unter MetaModels ein neues MetaModel anlegen:&lt;br /&gt;
* Klick auf '''Neues MetaModel'''&lt;br /&gt;
* Wir geben dem neuen MetaModel den Namen '''Musicbox - Stilrichtungen''' und den Tabellennamen '''mm_select_style'''&lt;br /&gt;
* Des weiteren aktivieren wir die '''Übersetzung''' setzen als Sprache '''Deutsch''' ein und aktivieren das '''Fallback'''&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[File:mm_neues_metamodel2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Nun steht uns ein neues, leeres MetaModel (mit null Datensätzen) zur Verfügung, das wir mit den Begriffen der benötigten Stilrichtungen füllen können.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Attribute==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir erfassen zuerst die benötigen Attribute für die Eingabe.&lt;br /&gt;
[[File:mm_neues_metamodel_attribute.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Hierzu geben wir folgende Felder ein:&lt;br /&gt;
* '''Stilrichtung'''&lt;br /&gt;
** Attribute Type= Text&lt;br /&gt;
** Column name= style&lt;br /&gt;
** Name (deutsch)= Stilrichtung&lt;br /&gt;
** Description (deutsch)= Pop, Rock, New Wave, Jazz, etc.&lt;br /&gt;
&lt;br /&gt;
* '''Alias'''&lt;br /&gt;
** Attribute Type= Alias&lt;br /&gt;
** Column name= alias&lt;br /&gt;
** Name (deutsch)= Alias&lt;br /&gt;
** Description (deutsch)= Wird für URL benötigt.&lt;br /&gt;
** Unique values= aktiviert&lt;br /&gt;
** Alias fields= Titel&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM Funktion: Ausgabevorgaben==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Es wird eine neue Ausgabevorgabe benötigt.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ausgabevorgaben.png|thumb|400px]]&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Die neue Ausgabevorgabe mit '''BE Listenansicht''' benennen&lt;br /&gt;
* speichern und schließen&lt;br /&gt;
* über die Attributeinstellungen alle Attribute hinzufügen&lt;br /&gt;
* Sichtbarkeit(Auge) herstellen&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM Funktion: Eingabemaske==&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
Es wird eine neue Eingabemaske benötigt.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_eingabemaske.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Die neue Eingabemaske mit '''BE Erfassung''' benennen&lt;br /&gt;
* Alle Attribute hinzufügen&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM Funktion: Filter==&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
Es wird kein Filter benötigt.&lt;br /&gt;
&lt;br /&gt;
==MM Funktion: Ansichtseinstellungen==&lt;br /&gt;
[[File:icons_ansichtseinstellungen.png|left|32px]]&lt;br /&gt;
Es werden wie gewohnt die Zugriffsberechtigung zugewiesen, damit über die Backend-Navigation auf die Tabelle zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ansichtseinstellungen.png|thumb|400px]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Neues MetaModel 'MyMusik - Stilrichtungen' steht zum Abfüllen bereit=&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_navi.png|left|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_navi2.png|left|600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BE Liste==&lt;br /&gt;
[[File:mm_neues_metamodel_BE_liste.png|thumb|400px]]&lt;br /&gt;
* Über '''Neuer Datensatz''' wird die Liste befüllt&lt;br /&gt;
* Für unserem Fall werden nun die späteren Kategorien erfasst: Pop/Rock, Italo-Rock, New Wave, Fat Beat, Cantautore, Soul/Blues und Jazz&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BE Formular==&lt;br /&gt;
[[File:mm_neues_metamodel_BE_formular.png|thumb|400px]]&lt;br /&gt;
* Das BE Formular sieht ziemlich simpel aus&lt;br /&gt;
* Ein separates Feld &amp;quot;ID&amp;quot; braucht nicht erfasst zu werden, denn dieses wird im Hintergrund automatisch generiert&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Auswahlfeld bei 'Musicbox' hinzufügen=&lt;br /&gt;
Wir klicken unser altes MetaModel '''Musicbox''' an und wählen dort die MM-Funktion '''Attribute''' an.&lt;br /&gt;
==Neues Attribut 'Stilrichtung'==&lt;br /&gt;
[[File:mm_attribut_erfassen_style.png|thumb|400px]]&lt;br /&gt;
* Das neue Attribut ist vom Typ '''Auswahl'''&lt;br /&gt;
* Column name: style&lt;br /&gt;
* Name: Stilrichtung&lt;br /&gt;
* Description:... wie es euch gefällt&lt;br /&gt;
&lt;br /&gt;
Nun kommt der eigentlich wichtige Teil: Man stellt eine Verbindung zum neu geschaffenen MetaModel her&lt;br /&gt;
&lt;br /&gt;
* '''Source Table''': Hier erscheinen alle in der Contao-Installation verfügbaren Tabellen. Ausgewählt wird die neue Tabelle '''mm_select_style'''&lt;br /&gt;
* '''Value column''': Den Namen der Spalte '''style''' auswählen&lt;br /&gt;
* '''Id column''': '''id''' auswählen. Standardmässig führt jede Contao-Tabelle eine ID mit&lt;br /&gt;
* '''Alias column''': '''alias''' auswählen&lt;br /&gt;
* ''' Auswahl-Sortierung''':  Sortierkriterium auswählen&lt;br /&gt;
&lt;br /&gt;
Ergänzung:&lt;br /&gt;
&lt;br /&gt;
* In '''BE Listenansicht''' des ersten MetaModel Musicbox '''sollte''' das neue Attribut Stilrichtung mit aufgenommen werden damit es in der BE Listenansicht überhaupt angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
* In der BE Eingabemaske '''BE Erfassung''' des ersten MetaModel Musicbox '''muss''' das neue Attribut Stilrichtung mit aufgenommen werden damit eine Bearbeitung überhgaupt möglich ist.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_atribut_musicbox.png|thumb|400px]]&lt;br /&gt;
Ab sofort steht nun in der BE Erfassung von '''MyMusic''' ein neues Feld '''Stilrichtung''' mit einem Select zur Verfügung. Das Select enthält nun alle Werte, die unter '''MyMusic - Stilrichtungen''' erfasst wurden.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Zusätzlichen Select-Filter im Frontend definieren=&lt;br /&gt;
&lt;br /&gt;
==Filter bei MyMusic anpassen==&lt;br /&gt;
[[File:mm_neues_attribut_filter.png|thumb|400px]]&lt;br /&gt;
* Der bereits exisitierende Name des Filters '''FE Filter Published''' wird kurz zu &amp;quot;FE Filter Published/Selects&amp;quot; angepasst&lt;br /&gt;
* Der Filter '''FE Filter Published''' wird um weitere Einstellungen ergänzt, nämlich...&lt;br /&gt;
** eine Einzelauswahl für das Attribut (Stilrichtung)&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_attribut_filter2.png|thumb|400px]]&lt;br /&gt;
* Nebenan die Anpassung der Einstellung '''Einzelauswahl''' für das Attribut '''Stilrichtung'''&lt;br /&gt;
* Standardmässig wird im Hintergrund einfach der '''URL-Parameter''' des Feldes (im obigen Beispiel 'country' und 'style') mitgegeben. Dieser lässt sich hier umdefinieren.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frontend-Modul aktualisieren==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_attribut_FE-Modul.png|thumb|400px]]&lt;br /&gt;
Das bereits existierende FE-Modul '''MM - MyMusik Filter''' muss noch angepasst werden:&lt;br /&gt;
* Anzuwendende Filtereinstellungen: Hier hat sich der Name des Filters bereits selbst aktualisiert&lt;br /&gt;
* Filterparameter(Attribute): den neu hinzugekommenen Parameter '''Stilrichtung''' anklicken&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Frontend Ansicht=&lt;br /&gt;
Im Frontend wird ein weiteres Select angezeigt, aus dem zusätzlich auch die '''Stilrichtungen''' angewählt werden können. &lt;br /&gt;
Die darunter liegende Liste wird entsprechend den oben ausgewählten Kriterien eingegrenzt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:mm_frontend_beispiel_2_selects.jpg|link=|700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_3|Zurück zum Beispiel 3]] |&lt;br /&gt;
[[MetaModels_Beispielprojekt|Zurück zur Beispiel-Übersicht]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel_2</id>
		<title>MetaModels Beispiel 2</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel_2"/>
				<updated>2014-06-04T23:40:41Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Hinweis hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Frontend einrichten=&lt;br /&gt;
Wir haben im Backend bereits ein paar Daten (Musikstücke) erfasst und möchten diese nun im Frontend anzeigen lassen. Hierfür benötigen wir eine Übersichtseite (Liste) und eine Detailsansicht. Plus noch eine minimale Navigation, um zwischen Liste und Detailansicht hin- und herklicken zu können.&lt;br /&gt;
Hierbei werden wir auch die Filtertechnik von MetaModels einsetzen.&lt;br /&gt;
&lt;br /&gt;
===Vorgehensschritte===&lt;br /&gt;
# [[MetaModels|Start: Installation]] - Download und Installation von MetaModels&lt;br /&gt;
# [[MetaModels_Beispiel_1|Beispiel 1: Backend einrichten]] - MetaModel erstellen, Daten erfassen&lt;br /&gt;
# [[MetaModels_Beispiel_2|Beispiel 2: Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3|Beispiel 3: Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4|Beispiel 4: Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
&lt;br /&gt;
=Seiterstruktur anpassen=&lt;br /&gt;
== In der Seitenstruktur zwei leere Seiten einrichten==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_seitenstruktur_einrichten.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Zuerst richten wir in der Seitenstruktur zwei neue (leere) Seiten ein.&lt;br /&gt;
&lt;br /&gt;
* '''Musicbox''' (diese Seite wird die Listenansicht aufnehmen)&lt;br /&gt;
* '''Music''' (diese Seite wird für die Darstellung der Detailansicht verantwortlich sein)&lt;br /&gt;
&lt;br /&gt;
Sowohl MetaModels als auch die später benötigten Frontend-Module werden auf diese Seiten zugreifen müssen, deswegen richten wir diese vorab ein, auch wenn noch kein Inhalt definiert ist.&lt;br /&gt;
&lt;br /&gt;
==Einfachen Filter erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir steigen nun wieder bei MetaModels bei '''Musicbox''' ein und gehen zur [[MetaModels_Backend:_Filter|MM-Backend Funktion: Filter]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_einrichten.png|thumb|400px]]&lt;br /&gt;
Hier müssen wir thematisch etwas vorausgreifen, und ein Instrument bereitstellen, das bei der Einrichtung der Frontend-Ansichten in MetaModels benötigt wird: '''Wir brauchen einen Filter'''.&lt;br /&gt;
Bei MetaModels haben Filter eine breitere Bedeutung als dies umgangssprachlich der Fall ist. Filter steuern jede Art von Ansichtsdarstellung, sowohl im Backend als auch im Frontend.&amp;amp;nbsp;Aus der Sicht von MetaModels gibt es nicht eine Listen- und eine separate Archivansicht, wie man das z.B. von News oder Catalog her kennt. Für MetaModels ist jede Ansicht eine Listenansicht. Es ist der Filter, der bestimmt ob n Datensätze (aka Liste) oder nur 1 Datensatz (aka Detailansicht) angezeigt wird. Mit anderen Worten: Der Filter und nicht das Frontend-Modul macht den Unterschied.&lt;br /&gt;
&lt;br /&gt;
* Die Filterübersicht ist noch leer (Keine Einträge gefunden)&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Den Namen eingeben, z.B. &amp;quot;FE Link Detail&amp;quot; (FE steht für Frontend) und speichern&lt;br /&gt;
* Die Filterübersicht zeigt nun diesen Eintrag. Wähle das rechte Icon ''Filterattribute für Filtereinstellung definieren''.&lt;br /&gt;
* Auf '''Neu''' klicken und das Icon (mit Pfeil) für '''einsetzen''' wählen&lt;br /&gt;
* Nun kann man den Typ '''Einfache Abfrage''' auswählen&lt;br /&gt;
* Das '''Attribut''' Alias auswählen und den URL-Parameter '''auto_item''' eingeben&lt;br /&gt;
* Alle weiteren Optionen bleiben leer oder nicht angeklickt. Als '''Template''' den Standard '''mm_filteritem_default''' auswählen&lt;br /&gt;
* Speichern und Schliessen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===URL-Parameter auto_item===&lt;br /&gt;
[[File:mm_backend_filter_einrichten2.png|thumb|400px]]&lt;br /&gt;
Der URL-Parameter '''auto_item''' ist in Kombination mit dem Attribut '''Alias''' dann interessant, wenn man in der URL das '/alias' raushaben möchte.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
aus...&lt;br /&gt;
meineDomain.com/album/alias/born-to-die.html&lt;br /&gt;
wird...&lt;br /&gt;
meineDomain.com/album/born-to-die.html&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der URL-Parameter '''auto_item''' verwendet werden soll, dann muss in den System-Einstellungen im BE im Abschnitt ''Frontend-Einstellungen'' die Option '''Den auto_item-Parameter verwenden''' angehakt sein, sonst erfolgt keine Ausgabe des Details ( =&amp;gt;There are no items matching your search.)&lt;br /&gt;
&lt;br /&gt;
'''Fazit'''&amp;lt;br&amp;gt;&lt;br /&gt;
Der Filter &amp;quot;FE Link Detail&amp;quot; besteht nun aus einer einzigen Definition. Wir werden in einem späteren Beispiel sehen, dass ein Filter auch aus mehreren Definitionen bestehen kann. Das ist eine weitere Neuerung in MetaModels, nämlich, dass man sich im Wesentlichen seine eigenen Filter zusammenbauen kann.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Listenansicht erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir bereits einen Eintrag &amp;quot;BE Listenansicht&amp;quot; an. Auf '''Neu''' klicken.&lt;br /&gt;
* Den Namen '''FE Listenansicht''' eingeben&lt;br /&gt;
* Als Template '''metamodel_prerendered (global scope)&amp;quot; wählen&lt;br /&gt;
* Als '''Zielseite''' die vorhin definierte Seite &amp;quot;Music&amp;quot; angeben. Klicke hierzu auf das Icon &amp;quot;Globus&amp;quot; und wähle die Seite aus dem Pulldown-Menu aus.{ {link_url::xx} } wird dann automatisch eingesetzt.&lt;br /&gt;
* Unter '''Filtereinstellungen''' wählen wir den vorhin definierten Filter &amp;quot;FE Link Detail&amp;quot;.&amp;lt;br&amp;gt;(''sollte der Filter zunächst nicht angezeigt werden, dann hilft =&amp;gt;speichern weiter'')&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
* Nun erscheinen zwei Einträge in der Liste der Ausgabevorgaben&lt;br /&gt;
&lt;br /&gt;
Mit diesen Einstellungen legt man grob fest, welches Aussehen (Template) die Seite haben soll, wohin die Reise gehen wird (Zielseite) und was bei dieser Zielseite angezeigt werden soll (was durch den Filter bestimmt wird).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man hier kein Filter angibt, wird später im Frontend kein '''Details'''-Link erscheinen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos zum Details-Link siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attribute zur Listenansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Klick auf das Icon rechts '''Attribute hinzufügen'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' (geht schneller und einfacher als alle über &amp;quot;Neu&amp;quot; hinzufügen)&lt;br /&gt;
* Bestätige die folgenden Screens&lt;br /&gt;
* Lege fest, welche Attribute in der Listenansicht angezeigt werden sollen (Icon &amp;quot;Auge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Man kann auch die Einstellung der Attribute anschauen, wie im letzten Screen angezeigt. Standardmäßig wird jedem Attribut zusätzlich ein Template mitgegeben. In unserem Beispiel analog dem Typ das Template &amp;quot;mm_attr_text (global scope)&amp;quot;.&lt;br /&gt;
Man erkennt hier schon im Ansatz, dass in MetaModels praktisch jedes Detail über ein Template gesteuert wird. Was für eine mögliche Individualisierung letztlich heißt, dass man in der freien Gestaltung potentiell unendliche viele Möglichkeiten zur Verfügung gestellt bekommt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Detailansicht erstellen==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]] (aka Rendereinstellungen).&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir die Einträge &amp;quot;BE Listenansicht&amp;quot; und &amp;quot;FE Listenansicht&amp;quot; an.&lt;br /&gt;
* Wir klicken auf &amp;quot;neu&amp;quot;&lt;br /&gt;
* Gib den Namen &amp;quot;FE Detailansicht&amp;quot; an&lt;br /&gt;
* Als Template wähen wir &amp;quot;metamodel_prerendered (global scope) an.&lt;br /&gt;
* In diesem Fall brauchen wir weder eine Zielseite noch ein Filtersettting anzugeben, denn bis hierher und nicht weiter wollen wir gelangen&lt;br /&gt;
* Optional kann auch eine Weiterleitungsseite definiert und ein Filter angegeben werden, wenn man einen Link &amp;quot;Zurück&amp;quot; generieren will&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos wie man einen Zurück-Link erstellt, siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten_liste.png|thumb|400px]]&lt;br /&gt;
Es erscheinen nun drei Einträge in der Liste der Ausgabevorgaben.&lt;br /&gt;
* BE Listenansicht&lt;br /&gt;
* FE Detailansicht&lt;br /&gt;
* FE Listenansicht&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attribute zur Detailansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Das Vorgehen ist analog zum Punkt 4 zu verstehen. Einzig, dass wir hier am Ende alle Attribute anzeigen lassen (inkl. Bild und Beschreibung).&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Anmerkung|&lt;br /&gt;
Das Drag &amp;amp; Drop eines Attributes auf den 1. Platz funktioniert momentan nicht. Ein Ticket dazu ist in Bearbeitung. https://github.com/MetaModels/core/issues/259&lt;br /&gt;
Man kann das Attribut auf den 2. Platz schieben und dann das von dem 1. Platz runter auf den 2.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] ([[Benutzer Diskussion:Andreas|Diskussion]]) 01:40, 5. Jun. 2014 (CEST)}}&lt;br /&gt;
&lt;br /&gt;
==Frontend-Module erstellen==&lt;br /&gt;
{{Hinweis|Einige Einstellmöglichkeiten in den nachstehend beschriebenen Modulen sind erst nach einer Zwischenspeicherung des Moduls erreichbar.}}&lt;br /&gt;
[[File:mm_backend_FE-Module_Liste.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Frontend-Modul für Listenansicht einrichten:&lt;br /&gt;
&lt;br /&gt;
* Wähle den ''Modultyp'' &amp;quot;MetaModels-Liste&amp;quot; aus&lt;br /&gt;
* Wähle das entsprechend ''MetaModel'' aus, in unserem Fall &amp;quot;Musicbox&amp;quot;&lt;br /&gt;
* Bei ''Sortieren nach'' und ''Sortierreihenfolge'' das gewünschte Attribut festlegen bzw. ob auf- oder absteigend sortiert werden soll&lt;br /&gt;
* ''Anzuwendende Filtereinstellungen'' bleibt vorläuftig leer. Das heißt soviel wie, dass wir in unserer Liste alle Datensätze (Musikstücke), die wir in unserer Musicbox erfasst haben, in der Liste anzeigen möchten&lt;br /&gt;
* Bei ''Eigenes Template für Datensatzliste auswählen'' den vorgegebenen Default &amp;quot;mod_metamodel_list&amp;quot; nehmen&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellung'' nehmen wir nun die zuvor definierte Ausgabevoreinstellung &amp;quot;FE Listenansicht&amp;quot;. Damit werden nur die Daten der Felder ausgegeben, die wir unter Punkt 9 als sichtbar gekennzeichnet haben, und zwar in der dort definierten Reihenfolge&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE-Module_Detail.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Dieses FE-Modul richten wir analog dem FE-Modul der Listenansicht ein, allerdings mit zwei wichtigen Unterschieden:&lt;br /&gt;
&lt;br /&gt;
* Bei ''Anzuwendende Filtereinstellungen'' muss nun der Filter &amp;quot;FE Link Detail&amp;quot; angewählt werden. Dieser bewirkt, dass man hier, in der Detailansicht, auch nur den Datenansatz angezeigt bekommt, den man in der Listenansicht angeklickt hatte.&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellungen'' wählen wir die in den Ansichtsdarstellungen definierte Einstellung &amp;quot;FE Detailansicht&amp;quot;. Hier werden alle Daten angezeigt, die wir unter Punkt ... als sichtbar angegeben haben. In diesem Falle alle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frontend-Module einbinden und Seitenvorschau==&lt;br /&gt;
[[File:mm_backend_FE-Module_einsetzen.png|thumb|400px]]&lt;br /&gt;
Zum Schluss bindet man die beiden Frontend-Module in den gewünschten Artikel ein.&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== Detail-Link anpassen==&lt;br /&gt;
Wenn der Rendereinstellung für die FE-Ansicht der passende Filter mitgegeben wurde, wird am Ende des Items standardmässig ein Link namens '''Details''' generiert. &lt;br /&gt;
Im Standard-Template '''metamodel_prerendered.html5''' sieht der PHP-Code, wo der Link vorkommt, so aus:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($arrItem['jumpTo']['deep']): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $arrItem['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;details; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Die Bezeichnung des Links lässt sich umbenennen, ohne in das Template eingreifen zu müssen.&amp;lt;br&amp;gt;&lt;br /&gt;
Hierzu kann man bei '/system/config/'''langconfig.php'''' folgende Anpassungen machen. 3 Beipiele...&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['details'] = '...mehr Details';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle'][id]['details'] = 'Zurück zur Liste';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''1. Fal'''l: Jeder Link in MetaModels wird zu '... mehr Details' umbenannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''2. Fall''': Nur die Links in der MetaModel-Tabelle 'mm_meineTabelle' werden zu 'weiter...' umbeannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''3. Fall''': Interessant, wenn man von der FE Detailansicht zurück zur FE Listenansicht gelangen will. In diesem Fall kann man nicht nur die MM Tabelle angeben, sondern auch die '''id''' der [[MetaModels_Backend:_Ausgabevorgaben#Einstieg|Rendereinstellung]] angeben. &lt;br /&gt;
&lt;br /&gt;
Beispiel für langconfig.php:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* Put your custom configuration here */ &lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox'][4]['details'] = 'Zurück zur Liste';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Mögliches Endresultat=&lt;br /&gt;
&lt;br /&gt;
==Frontend Ansicht==&lt;br /&gt;
Und so könnte es aussehen&lt;br /&gt;
* links: Die Daten werden standardmässig in kompakter Form ausgegeben&lt;br /&gt;
* rechts: mit etwas CSS lassen sich die Daten sowohl in der Listen- wie Detailsicht gut formatieren&lt;br /&gt;
* die Labels lassen sich auch ausschalten. Siehe [[MetaModels_Backend:_Eingabemaske#Backend_Liste_gestalten|hier]]&lt;br /&gt;
[[File:mm_frontend_beispiel.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
==HTML-Konstrukt==&lt;br /&gt;
Die Daten werden über das Template &amp;quot;metamodel_prerendered.html5&amp;quot; ausgegeben. Jeder Datensatz wird als '''item''' ausgegeben, dieser besteht aus den Attributen, die in den Rendereinstellungen definiert wurden. Bei jedem Attribut wird standardmässig '''label''' und '''value''' ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attributs1&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut1&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut3&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_1|Zurück zur Beispiel 1]] | [[MetaModels_Beispiel_3|Weiter zum Beispiel 3: Weitere Filter hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/TinyMCE</id>
		<title>TinyMCE</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/TinyMCE"/>
				<updated>2014-05-13T20:52:57Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Code um eine Zeile ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=2.9.1&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
{{stub}}&lt;br /&gt;
=TinyMCE in Contao=&lt;br /&gt;
==Unterschiede TYPOlight vs Contao==&lt;br /&gt;
Während in TYPOlight&lt;br /&gt;
#automatisch die basic.css für TinyMCE eingebunden wird&lt;br /&gt;
#in der basic.css definierte Klassen im Editor übers Format-DropDownMenü ausgewählt werden können&lt;br /&gt;
#Regeln aus der basic.css auch im Editor-Fenster greifen&lt;br /&gt;
&lt;br /&gt;
wird die '''basic.css in Contao nicht mehr standardmäßig eingebunden'''.&lt;br /&gt;
&lt;br /&gt;
Stattdessen gibt es seit Contao die Datei tl_files/tinymce.css.&lt;br /&gt;
#hier definierte Klassen können im Editor übers Format-DropDownMenü ausgewählt werden&lt;br /&gt;
#Regeln aus der tl_files/tinymce.css greifen auch im Editor-Fenster&lt;br /&gt;
#tl_files/tinymce.css wird default im Frontend eingebunden&lt;br /&gt;
{{Hinweis|Im Layout kann eingestellt werden, dass tl_files/tinymce.css nicht ins Frontend eingebunden werden soll.}}&lt;br /&gt;
&lt;br /&gt;
==TinyMCE-Dateien in Contao==&lt;br /&gt;
#tl_files/tinymce.css&lt;br /&gt;
#system/themes/tinymce.css&lt;br /&gt;
#system/config/tinyMCE.php&lt;br /&gt;
&lt;br /&gt;
'''tl_files/tinymce.css''' - Frontend und Formatierung im Texteditor&lt;br /&gt;
*Diese Datei wird per default sowohl im Frontend, als auch im Texteditor im Backend eingebunden.&lt;br /&gt;
*Die hier definierten Regeln können im Frontend durch Regeln aus den Stylesheets der Themes überschrieben werden.&lt;br /&gt;
*In den Layouteinstellungen kann die Einbindung dieses Stylesheets verhindert werden (die Datei wird im Frontend ignoriert).&lt;br /&gt;
*Die definierten Regeln greifen im Editor-Fenster, angesprochene Elemente werden hier also entsprechend formatiert dargestellt.&lt;br /&gt;
*Die definierten Klassen werden im Texteditor übers Format-DropDownMenü zur Auswahl angeboten.&lt;br /&gt;
&lt;br /&gt;
'''system/themes/tinymce.css''' - Formatierung im Texteditor&lt;br /&gt;
*Diese Datei wird per default über tinyMCE.php in den Texteditor eingebunden.&lt;br /&gt;
*Ihre Regeln gelten also ebenfalls für die Darstellung im Texteditor.&lt;br /&gt;
&lt;br /&gt;
'''system/config/tinyMCE.php''' - Einstellungen des TinyMCE&lt;br /&gt;
*Änderungen sind nicht updatesicher, da diese Datei bei einem Update überschrieben wird.&lt;br /&gt;
&lt;br /&gt;
Für eine '''updatesichere''' Modifizierung der Einstellungen verfährt man wie folgt:&lt;br /&gt;
#tinyMCE.php duplizieren und umbenennen in zum Beispiel '''tinyMCE_custom.php'''&lt;br /&gt;
#Die eigene Datei tinyMCE_custom.php über system/config/dcaconfig.php in Contao einbinden&lt;br /&gt;
#Eintrag in der system/config/dcaconfig.php&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Die eigene RTE-Konfiguration verwenden für Text-Elemente&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyMCE_custom';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Näheres dazu weiter unten auf dieser Seite [[TinyMCE#Updatesicheres_Anpassen_der_system.2Fconfig.2FtinyMCE.php|Updatesicheres Anpassen der system/config/tinyMCE.php]]&lt;br /&gt;
&lt;br /&gt;
*Cache leeren und evtl. Abmelden und wieder Anmelden bzw. sogar Browser-Neustart, oder '''Shift + Mausklick auf 'Seite neu laden''''&lt;br /&gt;
[http://www.contao-community.de/showthread.php?10392-TinyMCE-einzelne-Felder-ausblenden Siehe auch MacKP im Forum zu diesem Thema]&lt;br /&gt;
&lt;br /&gt;
=Mit dem TinyMCE arbeiten=&lt;br /&gt;
==Bereitstellung von CSS-Klassen im Editor==&lt;br /&gt;
Um im TinyMCE Elemente mit vorbereiteten Klassen auszuzeichnen, ohne in den Quellcode gehen zu müssen, kann man die Datei tl_files/tinymce.css bearbeiten. &lt;br /&gt;
&lt;br /&gt;
Klassen, die hier definiert werden, können direkt im TinyMCE übers Format-DropDownMenü ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tl_files_tinymce-css.png‎|Die CSS-Datei tl_files/tinymce.css|center|frame|Anpassen der tinymce.css Datei]]&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|ID-Selektoren wie z.B. '''#meineID, #raute ...''' werden '''nicht''' im Format-DropDownMenü angezeigt. Nur Klassen-Selektoren wie z.B. '''.meineKlasse, .warning ...'''.}}&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tinymce-klassenauswahl.png||center|frame|Ansicht des TinyMce im Backend]]&lt;br /&gt;
&lt;br /&gt;
Elemente, welche man mit diesen Klassen auszeichnet, werden nun im Editor und im Frontend entsprechend formatiert dargestellt.&lt;br /&gt;
&lt;br /&gt;
Jede dieser Regeln kann mit einer Regel aus einem anderen Stylesheet der jeweiligen Seite wieder überschrieben werden ('''C'''as'''C'''ading-'''S'''tylesheet = CSS).&lt;br /&gt;
[[Datei:Tinyklassen-frontend.png|center|frame|Frontendansicht]]&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann die tl_files/tinymce.css in jedem Seitenlayout auch ignoriert (nicht eingebunden) werden.&lt;br /&gt;
[[Datei:Tinymce-css-ignorieren.png|center|frame|Einstellungsmöglichkeit im Seitenlayout]]&lt;br /&gt;
&lt;br /&gt;
{{Achtung|Wenn man in einem Layout eingestellt hat, dass die tl_files/tinymce.css ignoriert wird, dann stehen die definierten Klassen zwar weiterhin im Editor zur Verfügung (Format-DropDownMenü) und werden auch entsprechend formatiert dargestellt, aber die tl_files/tinymce.css wird dann nicht mehr im Frontend eingebunden.}}&lt;br /&gt;
&lt;br /&gt;
==Spezieller Selektor nur für den Editor-Inhalt==&lt;br /&gt;
Der Editor-Inhalt ist eine eigene HTML-Seite und wird in einem IFRAME dargestellt. Das BODY-Element dieser Seite besitzt die ID ''''tinymce'''' sowie die Klasse ''''mceContentBody''''. Mit den Selektoren '''#tinymce''' sowie '''.mceContentBody''' kann somit der Inhalt des Editors individuell gestaltet werden. Das wird z.B. dafür benötigt, um den Hintergrund zu formatieren, wenn man die Ansicht im Editor der Ansicht im Frontend angleichen möchte. Die Inhalte im Frontend befinden sich ja innerhalb des HTML-Frameworks, welches im Editor-Inhalt so nicht vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
Quelle: [http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/content_css#TinyMCE_specific_rules TinyMCE:Configuration/content css#TinyMCE specific rules - Moxiecode Documentation Wiki]&lt;br /&gt;
&lt;br /&gt;
=TinyMCE anpassen=&lt;br /&gt;
&lt;br /&gt;
==Updatesicheres Anpassen der system/config/tinyMCE.php==&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Direkte Änderungen in der tinyMCE.php sind nicht updatesicher.}}&lt;br /&gt;
&lt;br /&gt;
Um updatesicher Anpassungen vornehmen zu können, kann man folgenden Weg gehen:&lt;br /&gt;
#system/config/tinyMCE.php wird dupliziert und in tinyCustom.php umbenannt&lt;br /&gt;
#system/config/tinyCustom.php kann nun editiert werden.&lt;br /&gt;
&lt;br /&gt;
Damit die tinyCustom.php (anstatt der tinyMCE.php) dann auch benutzt wird, kann '''updatesicher''' folgender Eintrag in der '''system/config/dcaconfig.php''' vorgenommen werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Die eigene RTE-Konfiguration verwenden für Text-Elemente&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nun wird für den Texteditor im Backend nicht mehr die Original-Einstellungsdatei eingebunden, sondern die neu angelegte Datei tinyCustom.php&lt;br /&gt;
&lt;br /&gt;
Obiger Eintrag gilt nur für den Editor im Inhaltselement vom Typ Text. Sollen die Veränderungen auch in anderen Modulen wirksam werden, müssen folgende Anweisungen hinzugefügt werdeen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Die eigene RTE-Konfiguration verwenden für&lt;br /&gt;
  //Artikel-Teaser&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_article']['fields']['teaser']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Events-Details&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['details']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Kommentare&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_comments']['fields']['comment']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Text-Elemente&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // FAQs&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_faq']['fields']['answer']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Formulare&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_form_field']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // News&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_news']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Newsletter-HTML&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_newsletter']['fields']['content']['eval']['rte'] = 'tinyNewsletter';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meistens wird ein abgespeckter, modifizierter TinyMCE-Editor nur für Redakteure (Nicht-Admins) angeboten. Dazu muss man obigen Code noch ein wenig erweitern:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Nur für Non-Admins.&lt;br /&gt;
$this-&amp;gt;import('BackendUser', 'User');&lt;br /&gt;
&lt;br /&gt;
if(!$this-&amp;gt;User-&amp;gt;isAdmin)&lt;br /&gt;
{&lt;br /&gt;
// Die eigene RTE-Konfiguration verwenden für&lt;br /&gt;
  //Artikel-Teaser&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_article']['fields']['teaser']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Events-Details&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['details']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Kommentare&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_comments']['fields']['comment']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Text-Elemente&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // FAQs&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_faq']['fields']['answer']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // Formulare&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_form_field']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
  // News&lt;br /&gt;
  $GLOBALS['TL_DCA']['tl_news']['fields']['text']['eval']['rte'] = 'tinyCustom';&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TinyMCE - Contao - basic.css==&lt;br /&gt;
{{Hinweis|In früheren Versionen (TYPOlight) wurde automatisch die basic.css (sofern diese vorhanden war) eingebunden. Dadurch gab es die in der basic.css definierten Klassen im Editor zur Auswahl und die Regeln wurde auch im Editor angewendet.}}&lt;br /&gt;
&lt;br /&gt;
Nina hat hier auch einen schönen Beitrag über TYPOlight geschrieben - inklusive Beispiel basic.css als Reset-Stylesheet.&lt;br /&gt;
[http://www.contao.org/blog-leser/items/wie-man-die-basiccss-fuer-den-rich-text-editor-einsetzt.html Wie man die basic.css für den Rich Text Editor einsetzt]&lt;br /&gt;
&lt;br /&gt;
Wenn weiterhin die basic.css für den TinyMCE benutzt werden soll, verfährt man wie folgt.&lt;br /&gt;
&lt;br /&gt;
Einbinden der basic.css in den Texteditor über die Konfigurations-Datei tinyCustom.php:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
content_css : &amp;quot;&amp;lt;?php echo TL_PATH; ?&amp;gt;/system/themes/tinymce.css,&amp;lt;?php echo TL_PATH;?&amp;gt;/basic.css,&amp;lt;?php echo TL_PATH .'/'. $this-&amp;gt;uploadPath; ?&amp;gt;/tinymce.css&amp;quot;,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun greifen die Regeln aus der basic.css auch im Texteditor (und im Frontend, sofern die basic.css ins Frontend eingebunden ist).&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Hierbei ist zu bedenken, dass es bei Contao nun nicht mehr eine basic.css gibt, die auf jeder Seite eingebunden werden kann, da nur in einem Theme eine basic.css erstellt werden kann.}}&lt;br /&gt;
&lt;br /&gt;
Oder man kopiert die Regeln aus der basic.css in das Stylesheet tl_files/tinymce.css.&lt;br /&gt;
Sofern dieses Stylesheet vom Layout nicht ignoriert wird, wird es ja sowohl vom Frontend als auch vom TinyMCE benutzt.&lt;br /&gt;
&lt;br /&gt;
Allerdings kann dieses Stylesheet nicht über den Stylesheetgenerator von Contao bearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Aber gibt es da nicht auch eine Erweiterung?&lt;br /&gt;
&lt;br /&gt;
==TinyMCE PopUps anpassen (Tabs &amp;quot;löschen&amp;quot;)==&lt;br /&gt;
Wenn man bestimmte Felder (oder sonstiges) bei den PopUps (Beispiel: Tabelleneigenschaften) ausblenden möchte, muss man in der TinyMCE-Konfigurationsdatei folgenden Eintrag einbauen:&lt;br /&gt;
{{Hinweis|Der Pfad ist frei wählbar. Wichtig ist, dass man ihn, respektive die Datei, &amp;quot;von außen&amp;quot; erreichen kann. Daher eignet sich &amp;quot;tl_files&amp;quot; am ehesten. Der Dateiname ist auch frei wählbar.}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
tinyMCE.init({&lt;br /&gt;
        ...&lt;br /&gt;
        popup_css_add : &amp;quot;&amp;lt;?php echo TL_PATH; ?&amp;gt;/tl_files/tinyMCE/tinyMCE_popup.css&amp;quot;,&lt;br /&gt;
        ...&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun kann man in der betreffenden CSS-Datei die Einstellungen vornehmen. Ausblenden via &amp;quot;display: none;&amp;quot;. Auch Hintergrundfarben, Schriftarten (etc) kann man bestimmen. Einfach alles, was CSS unterstützt. Die CSS-Klassen/IDs kann man ganz einfach via Firebug oder sonstigen Entwickler-Plugins in den Browsern auslesen.&lt;br /&gt;
&lt;br /&gt;
Um das Tab &amp;quot;Erweitert&amp;quot; bei den Tabelleneigenschaften auszublenden, ist z. B. folgender Eintrag zuständig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
#advanced_tab { display: none; }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TinyMCE konfigurieren==&lt;br /&gt;
Die tinyMCE.php (bzw. wie im Beispiel die tinyCustom.php) bietet ebenfalls interessante Möglichkeiten um das Erscheinungsbild des Editors anzupassen.&lt;br /&gt;
Hier können z.B. Buttons deaktiviert werden, um nicht benötigte Funktionen zu entfernen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Voraussetzung ist eine zuvor erstellte tinyCustom.php, wie im Abschnitt [[#Updatesicheres_Anpassen_der_system/config/tinyMCE.php|Updatesicheres Anpassen der system/config/tinyMCE.php]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Contao Standard TinyMCE''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:Tinymce-standard.png|center|frame|Standardausgabe von tinyMCE.php]]&lt;br /&gt;
&lt;br /&gt;
'''Quellcodeauszug aus der tinyMCE.php'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
theme_advanced_buttons1 : &amp;quot;newdocument,save,separator,spellchecker,separator,anchor,separator,typolinks,unlink,separator,image,typobox,separator,sub,sup,separator,abbr,acronym,separator,styleprops,attribs,separator,search,replace,separator,undo,redo,separator,removeformat,cleanup,separator,code&amp;quot;,&lt;br /&gt;
theme_advanced_buttons2 : &amp;quot;formatselect,fontsizeselect,styleselect,separator,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,indent,outdent,separator,blockquote,separator,forecolor,backcolor&amp;quot;,&lt;br /&gt;
theme_advanced_buttons3 : &amp;quot;tablecontrols,separator,template,separator,charmap,emotions,separator,help&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Über /system/config/tinyCustom.php angepasster TinyMCE'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tinymce-angepasst.png|center|frame|Angepasste tinyCustom.php]]&lt;br /&gt;
&lt;br /&gt;
'''Quellcodeauszug aus der tinyCustom.php'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
theme_advanced_buttons1 : &amp;quot;code,removeformat,separator,typolinks,unlink,separator,image,typobox,separator,sup,separator,formatselect,styleselect,separator,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,separator,forecolor&amp;quot;,&lt;br /&gt;
theme_advanced_buttons2 : &amp;quot;&amp;quot;,&lt;br /&gt;
theme_advanced_buttons3 : &amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alle Konfigurationsmöglichkeiten findet man auf der Entwickler-Seite:&lt;br /&gt;
[http://wiki.moxiecode.com/index.php/TinyMCE:Configuration TinyMCE:Configuration - Moxiecode Documentation Wiki]&lt;br /&gt;
&lt;br /&gt;
Über das [http://www.delusionworld.com/files/tinymce_rte-config-utility/ TinyMCE RTE Button configuration utility] kann man sich sehr schnell und einfach eine neue Menükonfiguration zusammenstellen.&lt;br /&gt;
&lt;br /&gt;
==TinyMCE Anführungszeichen automatisch ersetzen==&lt;br /&gt;
Wenn man Texte vorwiegend in Word verfasst, oder diese zur Verfügung gestellt bekommt, kopiert man meist den Text in Inhaltselemente. Dabei werden die Word-eigenen Formatierung und Zeichen übernommen. Das sind die folgenden Zeichen: „ / “ / ” / ‚ / ‘ / ’&lt;br /&gt;
&lt;br /&gt;
Beim Erstellen eines Textes im TinyMCE werden aber nur die folgenden Zeichen verwendet: ' / &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Will man Word-eigenen Anführungszeichen nun nicht haben ändert man in der Konfigurationsdatei die Zeile mit&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
entities : &amp;quot;160,nbsp,60,lt,62,gt,173,shy&amp;quot;,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
entities : &amp;quot;160,nbsp,60,lt,62,gt,173,shy,8216,quot,8217,quot,8218,quot,8220,quot,8221,quot,8222,quot&amp;quot;,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Nun werden die speziellen Anführungszeichen automatisch beim Einfügen eines kopierten Textes durch &amp;quot; ersetzt.&lt;br /&gt;
{{Hinweis|Nach 'shy' geht es los mit den zusätzlichen Zeichen. Die ersten 3 Ersetzungen sind für einfache Anführungszeichen, die letzten 3 für die doppelten (ggf. entsprechendes entfernen, wenn man was nicht will).}}&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit ist das Einbinden des kleinen [http://www.dream-a-bit.de/plugin-fuer-deutsche-und-franz-anfuehrungszeichen.html Tiny-Plugins von Jürgen Hofs], mit dem deutsche und französische An-/Abführungszeichen bequem über einen Tiny-Button eingefügt werden können. (Markierter Text oder Cursor-Position wird von An- und Abführungszeichen umschlossen.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quellenangaben==&lt;br /&gt;
[http://blog.netprofit.de/contao-anpassen-3-wenig-bekannte-tipps.html blog.netprofit.de]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://dev.contao.org/projects/typolight/wiki/TutorialsCssImEditorVerwenden Vorhandene Stylesheets in TinyMCE nutzbar machen]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.contao.org/blog-leser/items/wie-man-die-basiccss-fuer-den-rich-text-editor-einsetzt.html Wie man die basic.css für den Richt-Text-Editor einsetzt]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel_3</id>
		<title>MetaModels Beispiel 3</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel_3"/>
				<updated>2014-04-25T15:02:37Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Frontend-Modul anpassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
&lt;br /&gt;
=Aufgabenstellung: Weitere Filter einrichten=&lt;br /&gt;
Wir bauen einen Mechanismus ein, mit dem wir entscheiden können, welcher der im MetaModel '''Musikbox''' erfassten Datensätze im Frontend erscheinen soll und welcher nicht. Mit dem speziellen Attribut &amp;quot;Published State&amp;quot; lässt sich so was einrichten und über einen Filter im Frontend steuern.&lt;br /&gt;
Darüber hinaus möchten wir die Listenansicht im Frontend etwas interaktiver gestalten, indem wir einen Filter als HTML-Select im Frontend zur Verfügung stellen, der die Liste z.B. nach Länder ausfiltert.&lt;br /&gt;
&lt;br /&gt;
===Vorgehensschritte===&lt;br /&gt;
# [[MetaModels|Start: Installation]] - Download und Installation von MetaModels&lt;br /&gt;
# [[MetaModels_Beispiel_1|Beispiel 1: Backend einrichten]] - MetaModel erstellen, Daten erfassen&lt;br /&gt;
# [[MetaModels_Beispiel_2|Beispiel 2: Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3|Beispiel 3: Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4|Beispiel 4: Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Backend einbauen=&lt;br /&gt;
&lt;br /&gt;
==Start==&lt;br /&gt;
[[File:mm_backend_anpassen0.png|thumb|400px]]&lt;br /&gt;
Die Übersichtsliste in unserer Musiksammlung '''MyMusic''' entspricht bisher in etwa dem nebenstehenden Screenshot.&lt;br /&gt;
&lt;br /&gt;
Hier möchten wir das Icon &amp;quot;Auge&amp;quot; (=&amp;gt; Eintrag veröffentlichen) einfügen, dass wir von anderen Contao-Backend Funktionen kennen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Attribute anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier erfassen wir das neue Attribut (s. auch [[MetaModels_Backend:_Attribute|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wähle '''Neues Attribut'''&lt;br /&gt;
* Wähle als ''Attribut-Typ'' '''Checkbox''' aus gib als Spaltenname z.B. '''published''' ein&lt;br /&gt;
* Wichtig: '''Veröffentlichen''' muss angeklickt sein&lt;br /&gt;
* In der Attributsübersicht erscheint jetzt das neu angelegte Feld '''Veröffentlicht'''&lt;br /&gt;
&lt;br /&gt;
Nun kann man in den entsprechenden anderen MM-Backend-Funktionen, die weiteren Anpassung vornehmen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Ausgabevorgaben anpassen==&lt;br /&gt;
{{msgError|Bitte korrigieren (Text, Bild und Icon ändern). Hier muss nur das Attribut zur BE-Erfassung hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 16:49, 25. Apr. 2014 (CEST)}}&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wir passen die Listendarstellung für das Backend an (s. [[MetaModels_Backend:_Ausgabevorgaben|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Attributseinstellungen von '''BE Listenansicht'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' aus&lt;br /&gt;
* Es gibt einen automatischen Check welche Attribute bereits in die Rendersettings geladen wurden und welche nicht. Das neue Attribut &amp;quot;Veröffendlicht&amp;quot; wird hinzugefügt&lt;br /&gt;
* Es wird am Ende der Attributsliste hinzugefügt&lt;br /&gt;
&lt;br /&gt;
Damit sind die eigentlichen Anpassungen für das Backend schon abgeschlossen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Paletteneinstellung anpassen==&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
Wir passen die Paletteneinstellung für das Backend an (s. [[MetaModels_Backend:_Paletteneinstellungen|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
Damit das gerade hinzugefügte Attribut auch im Backend wirksam wird, muss noch die Paletteneinstellung angepasst werden.&lt;br /&gt;
* Wir wählen für die Palette '''BE Erfassung''' das Icon ''Die Einstellungen der Palette ID xx bearbeiten''&lt;br /&gt;
* Dann ''Alle hinzufügen'' und zweimal bestätigen&lt;br /&gt;
&lt;br /&gt;
==Backendliste &amp;quot;MyMusik&amp;quot; nochmals prüfen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen3.png|thumb|400px]]&lt;br /&gt;
Wenn wir jetzt unsere Übersichtsliste in unserer Musiksammlung &amp;quot;MyMusic&amp;quot; nochmals ansehen, entdecken wir das Icon &amp;quot;Auge&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;Nun können wir im Backend steuern, ob ein Musikstück im Frontend angezeigt werden soll oder nicht.&lt;br /&gt;
&lt;br /&gt;
Damit das geschieht, müssen wir noch einen Filter erstellen, der den jeweiligen Frontend-Ansichten sagt, dass nur markierte Musikstücke veröffentlicht werden sollen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Frontend einbauen=&lt;br /&gt;
Schaut man sich jetzt wiederholt die Frontend-Liste der Musicbox an während man im BE mit dem ''veröffentlicht-Auge'' herumspielt, so stellt man keine Veränderung fest.&amp;lt;br&amp;gt;Wir müssen daher in diversen MM-Backend-Funktionen Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: [[MetaModels_Backend:_Filter|Filter definieren]]==&lt;br /&gt;
Wir erstellen einen neuen Filter: &amp;quot;FE Filter published&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot;, bestätigen mit weiter&lt;br /&gt;
* Wir wählen den Typ &amp;quot;Published state&amp;quot;, wählen hierzu das vorhin erfasste Attribut &amp;quot; Veröffentlicht [checkbox]&amp;quot; und aktivieren diesen neuen Filter &amp;quot;FE Filter published&lt;br /&gt;
* ... und kehren zurück zur Filter-Übersichtsliste&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frontend-Modul anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir wählen hier das Modul, das für unsere Frontend-Ansicht zuständig ist. In unserem Fall das FE-Modul &amp;quot;MM - MyMusic Liste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dort nimmt man folgende Änderung vor:&lt;br /&gt;
&lt;br /&gt;
* Bei &amp;quot;Anzuwendende Filtereinstellungen&amp;quot; wählen wir den neu erstellen Filter &amp;quot;FE Filter Published&amp;quot; aus&lt;br /&gt;
&lt;br /&gt;
Ab sofort werden im Frontend nur noch die Datensätze angezeigt, die wir in unserer Backend-Liste &amp;quot;MyMusic&amp;quot; mit dem Icon &amp;quot;Auge&amp;quot; markiert haben.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Select Filter im Frontend einbauen=&lt;br /&gt;
Hier müssen wir in diversen MM-Backend-Funktionen diverse Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Filter definieren==&lt;br /&gt;
Wir nehmen den neuen Filter, ergänzen diesen und geben ihm einen neuen Namen &amp;quot;FE Filter published/Country&amp;quot;. Dieser angepasste Filter muss zwei Bedingungen erfüllen:&lt;br /&gt;
* Er soll wie bisher nur die publizierten Musikstücke anzeigen&lt;br /&gt;
* Er soll nur die Länder anzeigen, die wir über ein Select anwählen, das über der FE Liste angezeigt wird&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen3.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Filtereinstellungen des &amp;quot;Filters FE Filter published&amp;quot;&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot; und setzen die neue Einstellung unterhalb der Einstellung &amp;quot;Published State&amp;quot; ein&lt;br /&gt;
* Wir nehmen den Typ &amp;quot;Einzelauswahl&amp;quot;, weisen das Attribut &amp;quot;Land [text]&amp;quot; zu und aktivieren diesen&lt;br /&gt;
* Optional wählen wir noch die Option &amp;quot;Leerer Wert&amp;quot; an. Dies bewirkt, dass im späteren Select überhalb unserer Länderauswahl ein leerer Eintrag generiert wird&lt;br /&gt;
* Wir &amp;quot;Speichern und schliessen&amp;quot; den Dialog&lt;br /&gt;
&lt;br /&gt;
Nun erscheint uns neu der Filter &amp;quot;FE Filter published&amp;quot; als eine Kombination von 2 Filtereinstellungen. Man kann sich nun leicht vorstellen, wie komplex man sich diesen Filter bauen kann, wenn man will.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neues Frontend-Modul erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen4.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir erstellen hier ein neues Frontend-Modul&lt;br /&gt;
* Wir wählen hierzu den Modultyp &amp;quot;MetaModels Filter&amp;quot; und geben ihm den Namen &amp;quot;MM - MyMusik Filter&amp;quot;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehendes Frontend-Modul anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen5.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir nehmen das &amp;amp;nbsp;Frontend-Modul &amp;quot;MM - MyMusik Liste&amp;quot;&lt;br /&gt;
* Wir sortieren nach &amp;quot;Land&amp;quot; und &amp;quot;Aufsteigend&amp;quot;&lt;br /&gt;
* Neu ist nun, dass wir hier unter &amp;quot;anzuwendende Filtereinstellungen&amp;quot; den überarbeiteten Filter &amp;quot;FE Filter published&amp;quot; nehmen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehenden Artikel anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen6.png|thumb|400px]]&lt;br /&gt;
* Wir gehen nun zu unserem Artikel, wo wir einst unser Frontend-Modul &amp;quot;MM - MyMusic Liste&amp;quot; verbaut haben&lt;br /&gt;
* Darüber erstellen wir neu ein weiteres Inhaltselement, ein weiteres Frontend-Modul. Diesmal das neu erstellte FE-Modul &amp;quot;MM - MyMusic Filter&amp;quot;&lt;br /&gt;
* to be continued&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Frontend Ansicht=&lt;br /&gt;
Die FE-Liste erscheint nun neu mit einem HTML-Select. Über die Auswahl lässt sich nun die darunterliegende Liste länderspezifisch verkürzen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_frontend_beispiel_filter.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_2|Zurück zur Beispiel 2]] | [[MetaModels_Beispiel_4|Weiter Beispiel 4: Weiter MetaModels hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel_3</id>
		<title>MetaModels Beispiel 3</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel_3"/>
				<updated>2014-04-25T14:53:26Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* MM-Funktion: Attribute anpassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
&lt;br /&gt;
=Aufgabenstellung: Weitere Filter einrichten=&lt;br /&gt;
Wir bauen einen Mechanismus ein, mit dem wir entscheiden können, welcher der im MetaModel '''Musikbox''' erfassten Datensätze im Frontend erscheinen soll und welcher nicht. Mit dem speziellen Attribut &amp;quot;Published State&amp;quot; lässt sich so was einrichten und über einen Filter im Frontend steuern.&lt;br /&gt;
Darüber hinaus möchten wir die Listenansicht im Frontend etwas interaktiver gestalten, indem wir einen Filter als HTML-Select im Frontend zur Verfügung stellen, der die Liste z.B. nach Länder ausfiltert.&lt;br /&gt;
&lt;br /&gt;
===Vorgehensschritte===&lt;br /&gt;
# [[MetaModels|Start: Installation]] - Download und Installation von MetaModels&lt;br /&gt;
# [[MetaModels_Beispiel_1|Beispiel 1: Backend einrichten]] - MetaModel erstellen, Daten erfassen&lt;br /&gt;
# [[MetaModels_Beispiel_2|Beispiel 2: Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3|Beispiel 3: Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4|Beispiel 4: Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Backend einbauen=&lt;br /&gt;
&lt;br /&gt;
==Start==&lt;br /&gt;
[[File:mm_backend_anpassen0.png|thumb|400px]]&lt;br /&gt;
Die Übersichtsliste in unserer Musiksammlung '''MyMusic''' entspricht bisher in etwa dem nebenstehenden Screenshot.&lt;br /&gt;
&lt;br /&gt;
Hier möchten wir das Icon &amp;quot;Auge&amp;quot; (=&amp;gt; Eintrag veröffentlichen) einfügen, dass wir von anderen Contao-Backend Funktionen kennen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Attribute anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier erfassen wir das neue Attribut (s. auch [[MetaModels_Backend:_Attribute|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wähle '''Neues Attribut'''&lt;br /&gt;
* Wähle als ''Attribut-Typ'' '''Checkbox''' aus gib als Spaltenname z.B. '''published''' ein&lt;br /&gt;
* Wichtig: '''Veröffentlichen''' muss angeklickt sein&lt;br /&gt;
* In der Attributsübersicht erscheint jetzt das neu angelegte Feld '''Veröffentlicht'''&lt;br /&gt;
&lt;br /&gt;
Nun kann man in den entsprechenden anderen MM-Backend-Funktionen, die weiteren Anpassung vornehmen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Ausgabevorgaben anpassen==&lt;br /&gt;
{{msgError|Bitte korrigieren (Text, Bild und Icon ändern). Hier muss nur das Attribut zur BE-Erfassung hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 16:49, 25. Apr. 2014 (CEST)}}&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wir passen die Listendarstellung für das Backend an (s. [[MetaModels_Backend:_Ausgabevorgaben|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Attributseinstellungen von '''BE Listenansicht'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' aus&lt;br /&gt;
* Es gibt einen automatischen Check welche Attribute bereits in die Rendersettings geladen wurden und welche nicht. Das neue Attribut &amp;quot;Veröffendlicht&amp;quot; wird hinzugefügt&lt;br /&gt;
* Es wird am Ende der Attributsliste hinzugefügt&lt;br /&gt;
&lt;br /&gt;
Damit sind die eigentlichen Anpassungen für das Backend schon abgeschlossen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Paletteneinstellung anpassen==&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
Wir passen die Paletteneinstellung für das Backend an (s. [[MetaModels_Backend:_Paletteneinstellungen|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
Damit das gerade hinzugefügte Attribut auch im Backend wirksam wird, muss noch die Paletteneinstellung angepasst werden.&lt;br /&gt;
* Wir wählen für die Palette '''BE Erfassung''' das Icon ''Die Einstellungen der Palette ID xx bearbeiten''&lt;br /&gt;
* Dann ''Alle hinzufügen'' und zweimal bestätigen&lt;br /&gt;
&lt;br /&gt;
==Backendliste &amp;quot;MyMusik&amp;quot; nochmals prüfen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen3.png|thumb|400px]]&lt;br /&gt;
Wenn wir jetzt unsere Übersichtsliste in unserer Musiksammlung &amp;quot;MyMusic&amp;quot; nochmals ansehen, entdecken wir das Icon &amp;quot;Auge&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;Nun können wir im Backend steuern, ob ein Musikstück im Frontend angezeigt werden soll oder nicht.&lt;br /&gt;
&lt;br /&gt;
Damit das geschieht, müssen wir noch einen Filter erstellen, der den jeweiligen Frontend-Ansichten sagt, dass nur markierte Musikstücke veröffentlicht werden sollen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Frontend einbauen=&lt;br /&gt;
Schaut man sich jetzt wiederholt die Frontend-Liste der Musicbox an während man im BE mit dem ''veröffentlicht-Auge'' herumspielt, so stellt man keine Veränderung fest.&amp;lt;br&amp;gt;Wir müssen daher in diversen MM-Backend-Funktionen Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: [[MetaModels_Backend:_Filter|Filter definieren]]==&lt;br /&gt;
Wir erstellen einen neuen Filter: &amp;quot;FE Filter published&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot;, bestätigen mit weiter&lt;br /&gt;
* Wir wählen den Typ &amp;quot;Published state&amp;quot;, wählen hierzu das vorhin erfasste Attribut &amp;quot; Veröffentlicht [checkbox]&amp;quot; und aktivieren diesen neuen Filter &amp;quot;FE Filter published&lt;br /&gt;
* ... und kehren zurück zur Filter-Übersichtsliste&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frontend-Modul anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir wählen hier das Modul, das für unsere Frontend-Ansicht zuständig ist. In unserem Fall das FE-Modul &amp;quot;MM - MyMusik Liste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dort nehmen wir an folgende Änderungen vor:&lt;br /&gt;
&lt;br /&gt;
* Bei &amp;quot;Anzuwendende Filtereinstellungen&amp;quot; wählen wir den neu erstellen Filter &amp;quot;FE Filter Published&amp;quot; an&lt;br /&gt;
&lt;br /&gt;
Ab sofort werden im Frontend nur noch die Datensätze angezeigt, die wir in unserer Backend-Liste &amp;quot;MyMusik&amp;quot; mit dem Icon &amp;quot;Auge&amp;quot; markiert haben.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Select Filter im Frontend einbauen=&lt;br /&gt;
Hier müssen wir in diversen MM-Backend-Funktionen diverse Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Filter definieren==&lt;br /&gt;
Wir nehmen den neuen Filter, ergänzen diesen und geben ihm einen neuen Namen &amp;quot;FE Filter published/Country&amp;quot;. Dieser angepasste Filter muss zwei Bedingungen erfüllen:&lt;br /&gt;
* Er soll wie bisher nur die publizierten Musikstücke anzeigen&lt;br /&gt;
* Er soll nur die Länder anzeigen, die wir über ein Select anwählen, das über der FE Liste angezeigt wird&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen3.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Filtereinstellungen des &amp;quot;Filters FE Filter published&amp;quot;&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot; und setzen die neue Einstellung unterhalb der Einstellung &amp;quot;Published State&amp;quot; ein&lt;br /&gt;
* Wir nehmen den Typ &amp;quot;Einzelauswahl&amp;quot;, weisen das Attribut &amp;quot;Land [text]&amp;quot; zu und aktivieren diesen&lt;br /&gt;
* Optional wählen wir noch die Option &amp;quot;Leerer Wert&amp;quot; an. Dies bewirkt, dass im späteren Select überhalb unserer Länderauswahl ein leerer Eintrag generiert wird&lt;br /&gt;
* Wir &amp;quot;Speichern und schliessen&amp;quot; den Dialog&lt;br /&gt;
&lt;br /&gt;
Nun erscheint uns neu der Filter &amp;quot;FE Filter published&amp;quot; als eine Kombination von 2 Filtereinstellungen. Man kann sich nun leicht vorstellen, wie komplex man sich diesen Filter bauen kann, wenn man will.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neues Frontend-Modul erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen4.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir erstellen hier ein neues Frontend-Modul&lt;br /&gt;
* Wir wählen hierzu den Modultyp &amp;quot;MetaModels Filter&amp;quot; und geben ihm den Namen &amp;quot;MM - MyMusik Filter&amp;quot;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehendes Frontend-Modul anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen5.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir nehmen das &amp;amp;nbsp;Frontend-Modul &amp;quot;MM - MyMusik Liste&amp;quot;&lt;br /&gt;
* Wir sortieren nach &amp;quot;Land&amp;quot; und &amp;quot;Aufsteigend&amp;quot;&lt;br /&gt;
* Neu ist nun, dass wir hier unter &amp;quot;anzuwendende Filtereinstellungen&amp;quot; den überarbeiteten Filter &amp;quot;FE Filter published&amp;quot; nehmen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehenden Artikel anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen6.png|thumb|400px]]&lt;br /&gt;
* Wir gehen nun zu unserem Artikel, wo wir einst unser Frontend-Modul &amp;quot;MM - MyMusic Liste&amp;quot; verbaut haben&lt;br /&gt;
* Darüber erstellen wir neu ein weiteres Inhaltselement, ein weiteres Frontend-Modul. Diesmal das neu erstellte FE-Modul &amp;quot;MM - MyMusic Filter&amp;quot;&lt;br /&gt;
* to be continued&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Frontend Ansicht=&lt;br /&gt;
Die FE-Liste erscheint nun neu mit einem HTML-Select. Über die Auswahl lässt sich nun die darunterliegende Liste länderspezifisch verkürzen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_frontend_beispiel_filter.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_2|Zurück zur Beispiel 2]] | [[MetaModels_Beispiel_4|Weiter Beispiel 4: Weiter MetaModels hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel_3</id>
		<title>MetaModels Beispiel 3</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel_3"/>
				<updated>2014-04-25T14:53:04Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* MM-Funktion: Ausgabevorgaben anpassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
&lt;br /&gt;
=Aufgabenstellung: Weitere Filter einrichten=&lt;br /&gt;
Wir bauen einen Mechanismus ein, mit dem wir entscheiden können, welcher der im MetaModel '''Musikbox''' erfassten Datensätze im Frontend erscheinen soll und welcher nicht. Mit dem speziellen Attribut &amp;quot;Published State&amp;quot; lässt sich so was einrichten und über einen Filter im Frontend steuern.&lt;br /&gt;
Darüber hinaus möchten wir die Listenansicht im Frontend etwas interaktiver gestalten, indem wir einen Filter als HTML-Select im Frontend zur Verfügung stellen, der die Liste z.B. nach Länder ausfiltert.&lt;br /&gt;
&lt;br /&gt;
===Vorgehensschritte===&lt;br /&gt;
# [[MetaModels|Start: Installation]] - Download und Installation von MetaModels&lt;br /&gt;
# [[MetaModels_Beispiel_1|Beispiel 1: Backend einrichten]] - MetaModel erstellen, Daten erfassen&lt;br /&gt;
# [[MetaModels_Beispiel_2|Beispiel 2: Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3|Beispiel 3: Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4|Beispiel 4: Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Backend einbauen=&lt;br /&gt;
&lt;br /&gt;
==Start==&lt;br /&gt;
[[File:mm_backend_anpassen0.png|thumb|400px]]&lt;br /&gt;
Die Übersichtsliste in unserer Musiksammlung '''MyMusic''' entspricht bisher in etwa dem nebenstehenden Screenshot.&lt;br /&gt;
&lt;br /&gt;
Hier möchten wir das Icon &amp;quot;Auge&amp;quot; (=&amp;gt; Eintrag veröffentlichen) einfügen, dass wir von anderen Contao-Backend Funktionen kennen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Attribute anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier erfassen wir das neue Attribut (s. auch [[MetaModels_Backend:_Attribute|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wähle '''Neues Attribut'''&lt;br /&gt;
* Wähle als ''Attribut-Typ'' '''Checkbox''' aus gib als Spaltenname z.B. '''published''' ein&lt;br /&gt;
* Wichtig: '''Veröffentlichen''' muss angeklickt sein&lt;br /&gt;
* In der Attributsübersicht erscheint jetzt das neu angelegte Feld '''Veröffentlicht'''&lt;br /&gt;
&lt;br /&gt;
Nun kann man in den entsprechenden anderen MM-Backend-Funktionen, die weiteren Anpassung vornehmen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{msgError|Bitte korrigieren (Text, Bild und Icon ändern). Hier muss nur das Attribut zur BE-Erfassung hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
Der nächste Punkt ist gemeint. Keine Ahnung, wie der Punkt hier in den Artikel gesprungen ist.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 16:49, 25. Apr. 2014 (CEST)}}&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Ausgabevorgaben anpassen==&lt;br /&gt;
{{msgError|Bitte korrigieren (Text, Bild und Icon ändern). Hier muss nur das Attribut zur BE-Erfassung hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 16:49, 25. Apr. 2014 (CEST)}}&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wir passen die Listendarstellung für das Backend an (s. [[MetaModels_Backend:_Ausgabevorgaben|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Attributseinstellungen von '''BE Listenansicht'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' aus&lt;br /&gt;
* Es gibt einen automatischen Check welche Attribute bereits in die Rendersettings geladen wurden und welche nicht. Das neue Attribut &amp;quot;Veröffendlicht&amp;quot; wird hinzugefügt&lt;br /&gt;
* Es wird am Ende der Attributsliste hinzugefügt&lt;br /&gt;
&lt;br /&gt;
Damit sind die eigentlichen Anpassungen für das Backend schon abgeschlossen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Paletteneinstellung anpassen==&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
Wir passen die Paletteneinstellung für das Backend an (s. [[MetaModels_Backend:_Paletteneinstellungen|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
Damit das gerade hinzugefügte Attribut auch im Backend wirksam wird, muss noch die Paletteneinstellung angepasst werden.&lt;br /&gt;
* Wir wählen für die Palette '''BE Erfassung''' das Icon ''Die Einstellungen der Palette ID xx bearbeiten''&lt;br /&gt;
* Dann ''Alle hinzufügen'' und zweimal bestätigen&lt;br /&gt;
&lt;br /&gt;
==Backendliste &amp;quot;MyMusik&amp;quot; nochmals prüfen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen3.png|thumb|400px]]&lt;br /&gt;
Wenn wir jetzt unsere Übersichtsliste in unserer Musiksammlung &amp;quot;MyMusic&amp;quot; nochmals ansehen, entdecken wir das Icon &amp;quot;Auge&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;Nun können wir im Backend steuern, ob ein Musikstück im Frontend angezeigt werden soll oder nicht.&lt;br /&gt;
&lt;br /&gt;
Damit das geschieht, müssen wir noch einen Filter erstellen, der den jeweiligen Frontend-Ansichten sagt, dass nur markierte Musikstücke veröffentlicht werden sollen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Frontend einbauen=&lt;br /&gt;
Schaut man sich jetzt wiederholt die Frontend-Liste der Musicbox an während man im BE mit dem ''veröffentlicht-Auge'' herumspielt, so stellt man keine Veränderung fest.&amp;lt;br&amp;gt;Wir müssen daher in diversen MM-Backend-Funktionen Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: [[MetaModels_Backend:_Filter|Filter definieren]]==&lt;br /&gt;
Wir erstellen einen neuen Filter: &amp;quot;FE Filter published&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot;, bestätigen mit weiter&lt;br /&gt;
* Wir wählen den Typ &amp;quot;Published state&amp;quot;, wählen hierzu das vorhin erfasste Attribut &amp;quot; Veröffentlicht [checkbox]&amp;quot; und aktivieren diesen neuen Filter &amp;quot;FE Filter published&lt;br /&gt;
* ... und kehren zurück zur Filter-Übersichtsliste&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frontend-Modul anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir wählen hier das Modul, das für unsere Frontend-Ansicht zuständig ist. In unserem Fall das FE-Modul &amp;quot;MM - MyMusik Liste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dort nehmen wir an folgende Änderungen vor:&lt;br /&gt;
&lt;br /&gt;
* Bei &amp;quot;Anzuwendende Filtereinstellungen&amp;quot; wählen wir den neu erstellen Filter &amp;quot;FE Filter Published&amp;quot; an&lt;br /&gt;
&lt;br /&gt;
Ab sofort werden im Frontend nur noch die Datensätze angezeigt, die wir in unserer Backend-Liste &amp;quot;MyMusik&amp;quot; mit dem Icon &amp;quot;Auge&amp;quot; markiert haben.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Select Filter im Frontend einbauen=&lt;br /&gt;
Hier müssen wir in diversen MM-Backend-Funktionen diverse Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Filter definieren==&lt;br /&gt;
Wir nehmen den neuen Filter, ergänzen diesen und geben ihm einen neuen Namen &amp;quot;FE Filter published/Country&amp;quot;. Dieser angepasste Filter muss zwei Bedingungen erfüllen:&lt;br /&gt;
* Er soll wie bisher nur die publizierten Musikstücke anzeigen&lt;br /&gt;
* Er soll nur die Länder anzeigen, die wir über ein Select anwählen, das über der FE Liste angezeigt wird&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen3.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Filtereinstellungen des &amp;quot;Filters FE Filter published&amp;quot;&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot; und setzen die neue Einstellung unterhalb der Einstellung &amp;quot;Published State&amp;quot; ein&lt;br /&gt;
* Wir nehmen den Typ &amp;quot;Einzelauswahl&amp;quot;, weisen das Attribut &amp;quot;Land [text]&amp;quot; zu und aktivieren diesen&lt;br /&gt;
* Optional wählen wir noch die Option &amp;quot;Leerer Wert&amp;quot; an. Dies bewirkt, dass im späteren Select überhalb unserer Länderauswahl ein leerer Eintrag generiert wird&lt;br /&gt;
* Wir &amp;quot;Speichern und schliessen&amp;quot; den Dialog&lt;br /&gt;
&lt;br /&gt;
Nun erscheint uns neu der Filter &amp;quot;FE Filter published&amp;quot; als eine Kombination von 2 Filtereinstellungen. Man kann sich nun leicht vorstellen, wie komplex man sich diesen Filter bauen kann, wenn man will.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neues Frontend-Modul erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen4.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir erstellen hier ein neues Frontend-Modul&lt;br /&gt;
* Wir wählen hierzu den Modultyp &amp;quot;MetaModels Filter&amp;quot; und geben ihm den Namen &amp;quot;MM - MyMusik Filter&amp;quot;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehendes Frontend-Modul anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen5.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir nehmen das &amp;amp;nbsp;Frontend-Modul &amp;quot;MM - MyMusik Liste&amp;quot;&lt;br /&gt;
* Wir sortieren nach &amp;quot;Land&amp;quot; und &amp;quot;Aufsteigend&amp;quot;&lt;br /&gt;
* Neu ist nun, dass wir hier unter &amp;quot;anzuwendende Filtereinstellungen&amp;quot; den überarbeiteten Filter &amp;quot;FE Filter published&amp;quot; nehmen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehenden Artikel anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen6.png|thumb|400px]]&lt;br /&gt;
* Wir gehen nun zu unserem Artikel, wo wir einst unser Frontend-Modul &amp;quot;MM - MyMusic Liste&amp;quot; verbaut haben&lt;br /&gt;
* Darüber erstellen wir neu ein weiteres Inhaltselement, ein weiteres Frontend-Modul. Diesmal das neu erstellte FE-Modul &amp;quot;MM - MyMusic Filter&amp;quot;&lt;br /&gt;
* to be continued&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Frontend Ansicht=&lt;br /&gt;
Die FE-Liste erscheint nun neu mit einem HTML-Select. Über die Auswahl lässt sich nun die darunterliegende Liste länderspezifisch verkürzen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_frontend_beispiel_filter.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_2|Zurück zur Beispiel 2]] | [[MetaModels_Beispiel_4|Weiter Beispiel 4: Weiter MetaModels hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel_3</id>
		<title>MetaModels Beispiel 3</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel_3"/>
				<updated>2014-04-25T14:51:47Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* MM-Funktion: Attribute anpassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
&lt;br /&gt;
=Aufgabenstellung: Weitere Filter einrichten=&lt;br /&gt;
Wir bauen einen Mechanismus ein, mit dem wir entscheiden können, welcher der im MetaModel '''Musikbox''' erfassten Datensätze im Frontend erscheinen soll und welcher nicht. Mit dem speziellen Attribut &amp;quot;Published State&amp;quot; lässt sich so was einrichten und über einen Filter im Frontend steuern.&lt;br /&gt;
Darüber hinaus möchten wir die Listenansicht im Frontend etwas interaktiver gestalten, indem wir einen Filter als HTML-Select im Frontend zur Verfügung stellen, der die Liste z.B. nach Länder ausfiltert.&lt;br /&gt;
&lt;br /&gt;
===Vorgehensschritte===&lt;br /&gt;
# [[MetaModels|Start: Installation]] - Download und Installation von MetaModels&lt;br /&gt;
# [[MetaModels_Beispiel_1|Beispiel 1: Backend einrichten]] - MetaModel erstellen, Daten erfassen&lt;br /&gt;
# [[MetaModels_Beispiel_2|Beispiel 2: Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3|Beispiel 3: Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4|Beispiel 4: Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Backend einbauen=&lt;br /&gt;
&lt;br /&gt;
==Start==&lt;br /&gt;
[[File:mm_backend_anpassen0.png|thumb|400px]]&lt;br /&gt;
Die Übersichtsliste in unserer Musiksammlung '''MyMusic''' entspricht bisher in etwa dem nebenstehenden Screenshot.&lt;br /&gt;
&lt;br /&gt;
Hier möchten wir das Icon &amp;quot;Auge&amp;quot; (=&amp;gt; Eintrag veröffentlichen) einfügen, dass wir von anderen Contao-Backend Funktionen kennen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Attribute anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier erfassen wir das neue Attribut (s. auch [[MetaModels_Backend:_Attribute|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wähle '''Neues Attribut'''&lt;br /&gt;
* Wähle als ''Attribut-Typ'' '''Checkbox''' aus gib als Spaltenname z.B. '''published''' ein&lt;br /&gt;
* Wichtig: '''Veröffentlichen''' muss angeklickt sein&lt;br /&gt;
* In der Attributsübersicht erscheint jetzt das neu angelegte Feld '''Veröffentlicht'''&lt;br /&gt;
&lt;br /&gt;
Nun kann man in den entsprechenden anderen MM-Backend-Funktionen, die weiteren Anpassung vornehmen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{msgError|Bitte korrigieren (Text, Bild und Icon ändern). Hier muss nur das Attribut zur BE-Erfassung hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
Der nächste Punkt ist gemeint. Keine Ahnung, wie der Punkt hier in den Artikel gesprungen ist.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 16:49, 25. Apr. 2014 (CEST)}}&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Ausgabevorgaben anpassen==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wir passen die Listendarstellung für das Backend an (s. [[MetaModels_Backend:_Ausgabevorgaben|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Attributseinstellungen von '''BE Listenansicht'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' aus&lt;br /&gt;
* Es gibt einen automatischen Check welche Attribute bereits in die Rendersettings geladen wurden und welche nicht. Das neue Attribut &amp;quot;Veröffendlicht&amp;quot; wird hinzugefügt&lt;br /&gt;
* Es wird am Ende der Attributsliste hinzugefügt&lt;br /&gt;
&lt;br /&gt;
Damit sind die eigentlichen Anpassungen für das Backend schon abgeschlossen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Paletteneinstellung anpassen==&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
Wir passen die Paletteneinstellung für das Backend an (s. [[MetaModels_Backend:_Paletteneinstellungen|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
Damit das gerade hinzugefügte Attribut auch im Backend wirksam wird, muss noch die Paletteneinstellung angepasst werden.&lt;br /&gt;
* Wir wählen für die Palette '''BE Erfassung''' das Icon ''Die Einstellungen der Palette ID xx bearbeiten''&lt;br /&gt;
* Dann ''Alle hinzufügen'' und zweimal bestätigen&lt;br /&gt;
&lt;br /&gt;
==Backendliste &amp;quot;MyMusik&amp;quot; nochmals prüfen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen3.png|thumb|400px]]&lt;br /&gt;
Wenn wir jetzt unsere Übersichtsliste in unserer Musiksammlung &amp;quot;MyMusic&amp;quot; nochmals ansehen, entdecken wir das Icon &amp;quot;Auge&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;Nun können wir im Backend steuern, ob ein Musikstück im Frontend angezeigt werden soll oder nicht.&lt;br /&gt;
&lt;br /&gt;
Damit das geschieht, müssen wir noch einen Filter erstellen, der den jeweiligen Frontend-Ansichten sagt, dass nur markierte Musikstücke veröffentlicht werden sollen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Frontend einbauen=&lt;br /&gt;
Schaut man sich jetzt wiederholt die Frontend-Liste der Musicbox an während man im BE mit dem ''veröffentlicht-Auge'' herumspielt, so stellt man keine Veränderung fest.&amp;lt;br&amp;gt;Wir müssen daher in diversen MM-Backend-Funktionen Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: [[MetaModels_Backend:_Filter|Filter definieren]]==&lt;br /&gt;
Wir erstellen einen neuen Filter: &amp;quot;FE Filter published&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot;, bestätigen mit weiter&lt;br /&gt;
* Wir wählen den Typ &amp;quot;Published state&amp;quot;, wählen hierzu das vorhin erfasste Attribut &amp;quot; Veröffentlicht [checkbox]&amp;quot; und aktivieren diesen neuen Filter &amp;quot;FE Filter published&lt;br /&gt;
* ... und kehren zurück zur Filter-Übersichtsliste&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frontend-Modul anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir wählen hier das Modul, das für unsere Frontend-Ansicht zuständig ist. In unserem Fall das FE-Modul &amp;quot;MM - MyMusik Liste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dort nehmen wir an folgende Änderungen vor:&lt;br /&gt;
&lt;br /&gt;
* Bei &amp;quot;Anzuwendende Filtereinstellungen&amp;quot; wählen wir den neu erstellen Filter &amp;quot;FE Filter Published&amp;quot; an&lt;br /&gt;
&lt;br /&gt;
Ab sofort werden im Frontend nur noch die Datensätze angezeigt, die wir in unserer Backend-Liste &amp;quot;MyMusik&amp;quot; mit dem Icon &amp;quot;Auge&amp;quot; markiert haben.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Select Filter im Frontend einbauen=&lt;br /&gt;
Hier müssen wir in diversen MM-Backend-Funktionen diverse Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Filter definieren==&lt;br /&gt;
Wir nehmen den neuen Filter, ergänzen diesen und geben ihm einen neuen Namen &amp;quot;FE Filter published/Country&amp;quot;. Dieser angepasste Filter muss zwei Bedingungen erfüllen:&lt;br /&gt;
* Er soll wie bisher nur die publizierten Musikstücke anzeigen&lt;br /&gt;
* Er soll nur die Länder anzeigen, die wir über ein Select anwählen, das über der FE Liste angezeigt wird&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen3.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Filtereinstellungen des &amp;quot;Filters FE Filter published&amp;quot;&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot; und setzen die neue Einstellung unterhalb der Einstellung &amp;quot;Published State&amp;quot; ein&lt;br /&gt;
* Wir nehmen den Typ &amp;quot;Einzelauswahl&amp;quot;, weisen das Attribut &amp;quot;Land [text]&amp;quot; zu und aktivieren diesen&lt;br /&gt;
* Optional wählen wir noch die Option &amp;quot;Leerer Wert&amp;quot; an. Dies bewirkt, dass im späteren Select überhalb unserer Länderauswahl ein leerer Eintrag generiert wird&lt;br /&gt;
* Wir &amp;quot;Speichern und schliessen&amp;quot; den Dialog&lt;br /&gt;
&lt;br /&gt;
Nun erscheint uns neu der Filter &amp;quot;FE Filter published&amp;quot; als eine Kombination von 2 Filtereinstellungen. Man kann sich nun leicht vorstellen, wie komplex man sich diesen Filter bauen kann, wenn man will.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neues Frontend-Modul erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen4.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir erstellen hier ein neues Frontend-Modul&lt;br /&gt;
* Wir wählen hierzu den Modultyp &amp;quot;MetaModels Filter&amp;quot; und geben ihm den Namen &amp;quot;MM - MyMusik Filter&amp;quot;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehendes Frontend-Modul anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen5.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir nehmen das &amp;amp;nbsp;Frontend-Modul &amp;quot;MM - MyMusik Liste&amp;quot;&lt;br /&gt;
* Wir sortieren nach &amp;quot;Land&amp;quot; und &amp;quot;Aufsteigend&amp;quot;&lt;br /&gt;
* Neu ist nun, dass wir hier unter &amp;quot;anzuwendende Filtereinstellungen&amp;quot; den überarbeiteten Filter &amp;quot;FE Filter published&amp;quot; nehmen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehenden Artikel anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen6.png|thumb|400px]]&lt;br /&gt;
* Wir gehen nun zu unserem Artikel, wo wir einst unser Frontend-Modul &amp;quot;MM - MyMusic Liste&amp;quot; verbaut haben&lt;br /&gt;
* Darüber erstellen wir neu ein weiteres Inhaltselement, ein weiteres Frontend-Modul. Diesmal das neu erstellte FE-Modul &amp;quot;MM - MyMusic Filter&amp;quot;&lt;br /&gt;
* to be continued&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Frontend Ansicht=&lt;br /&gt;
Die FE-Liste erscheint nun neu mit einem HTML-Select. Über die Auswahl lässt sich nun die darunterliegende Liste länderspezifisch verkürzen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_frontend_beispiel_filter.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_2|Zurück zur Beispiel 2]] | [[MetaModels_Beispiel_4|Weiter Beispiel 4: Weiter MetaModels hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel_3</id>
		<title>MetaModels Beispiel 3</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel_3"/>
				<updated>2014-04-25T14:49:52Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Fehler&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
&lt;br /&gt;
=Aufgabenstellung: Weitere Filter einrichten=&lt;br /&gt;
Wir bauen einen Mechanismus ein, mit dem wir entscheiden können, welcher der im MetaModel '''Musikbox''' erfassten Datensätze im Frontend erscheinen soll und welcher nicht. Mit dem speziellen Attribut &amp;quot;Published State&amp;quot; lässt sich so was einrichten und über einen Filter im Frontend steuern.&lt;br /&gt;
Darüber hinaus möchten wir die Listenansicht im Frontend etwas interaktiver gestalten, indem wir einen Filter als HTML-Select im Frontend zur Verfügung stellen, der die Liste z.B. nach Länder ausfiltert.&lt;br /&gt;
&lt;br /&gt;
===Vorgehensschritte===&lt;br /&gt;
# [[MetaModels|Start: Installation]] - Download und Installation von MetaModels&lt;br /&gt;
# [[MetaModels_Beispiel_1|Beispiel 1: Backend einrichten]] - MetaModel erstellen, Daten erfassen&lt;br /&gt;
# [[MetaModels_Beispiel_2|Beispiel 2: Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3|Beispiel 3: Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4|Beispiel 4: Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Backend einbauen=&lt;br /&gt;
&lt;br /&gt;
==Start==&lt;br /&gt;
[[File:mm_backend_anpassen0.png|thumb|400px]]&lt;br /&gt;
Die Übersichtsliste in unserer Musiksammlung '''MyMusic''' entspricht bisher in etwa dem nebenstehenden Screenshot.&lt;br /&gt;
&lt;br /&gt;
Hier möchten wir das Icon &amp;quot;Auge&amp;quot; (=&amp;gt; Eintrag veröffentlichen) einfügen, dass wir von anderen Contao-Backend Funktionen kennen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Attribute anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier erfassen wir das neue Attribut (s. auch [[MetaModels_Backend:_Attribute|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wähle '''Neues Attribut'''&lt;br /&gt;
* Wähle als ''Attribut-Typ'' '''Checkbox''' aus gib als Spaltenname z.B. '''published''' ein&lt;br /&gt;
* Wichtig: '''Veröffentlichen''' muss angeklickt sein&lt;br /&gt;
* In der Attributsübersicht erscheint jetzt das neu angelegte Feld '''Veröffentlicht'''&lt;br /&gt;
&lt;br /&gt;
Nun kann man in den entsprechenden anderen MM-Backend-Funktionen, die weiteren Anpassung vornehmen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{msgError|Bitte korrigieren (Text, Bild und Icon ändern). Hier muss nur das Attribut zur BE-Erfassung hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 16:49, 25. Apr. 2014 (CEST)}}&lt;br /&gt;
==MM-Funktion: Ausgabevorgaben anpassen==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wir passen die Listendarstellung für das Backend an (s. [[MetaModels_Backend:_Ausgabevorgaben|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Attributseinstellungen von '''BE Listenansicht'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' aus&lt;br /&gt;
* Es gibt einen automatischen Check welche Attribute bereits in die Rendersettings geladen wurden und welche nicht. Das neue Attribut &amp;quot;Veröffendlicht&amp;quot; wird hinzugefügt&lt;br /&gt;
* Es wird am Ende der Attributsliste hinzugefügt&lt;br /&gt;
&lt;br /&gt;
Damit sind die eigentlichen Anpassungen für das Backend schon abgeschlossen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Paletteneinstellung anpassen==&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
Wir passen die Paletteneinstellung für das Backend an (s. [[MetaModels_Backend:_Paletteneinstellungen|Doku zum Dialog]])&lt;br /&gt;
&lt;br /&gt;
Damit das gerade hinzugefügte Attribut auch im Backend wirksam wird, muss noch die Paletteneinstellung angepasst werden.&lt;br /&gt;
* Wir wählen für die Palette '''BE Erfassung''' das Icon ''Die Einstellungen der Palette ID xx bearbeiten''&lt;br /&gt;
* Dann ''Alle hinzufügen'' und zweimal bestätigen&lt;br /&gt;
&lt;br /&gt;
==Backendliste &amp;quot;MyMusik&amp;quot; nochmals prüfen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_anpassen3.png|thumb|400px]]&lt;br /&gt;
Wenn wir jetzt unsere Übersichtsliste in unserer Musiksammlung &amp;quot;MyMusic&amp;quot; nochmals ansehen, entdecken wir das Icon &amp;quot;Auge&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;Nun können wir im Backend steuern, ob ein Musikstück im Frontend angezeigt werden soll oder nicht.&lt;br /&gt;
&lt;br /&gt;
Damit das geschieht, müssen wir noch einen Filter erstellen, der den jeweiligen Frontend-Ansichten sagt, dass nur markierte Musikstücke veröffentlicht werden sollen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Published Filter im Frontend einbauen=&lt;br /&gt;
Schaut man sich jetzt wiederholt die Frontend-Liste der Musicbox an während man im BE mit dem ''veröffentlicht-Auge'' herumspielt, so stellt man keine Veränderung fest.&amp;lt;br&amp;gt;Wir müssen daher in diversen MM-Backend-Funktionen Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: [[MetaModels_Backend:_Filter|Filter definieren]]==&lt;br /&gt;
Wir erstellen einen neuen Filter: &amp;quot;FE Filter published&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen1.png|thumb|400px]]&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot;, bestätigen mit weiter&lt;br /&gt;
* Wir wählen den Typ &amp;quot;Published state&amp;quot;, wählen hierzu das vorhin erfasste Attribut &amp;quot; Veröffentlicht [checkbox]&amp;quot; und aktivieren diesen neuen Filter &amp;quot;FE Filter published&lt;br /&gt;
* ... und kehren zurück zur Filter-Übersichtsliste&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frontend-Modul anpassen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen2.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir wählen hier das Modul, das für unsere Frontend-Ansicht zuständig ist. In unserem Fall das FE-Modul &amp;quot;MM - MyMusik Liste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dort nehmen wir an folgende Änderungen vor:&lt;br /&gt;
&lt;br /&gt;
* Bei &amp;quot;Anzuwendende Filtereinstellungen&amp;quot; wählen wir den neu erstellen Filter &amp;quot;FE Filter Published&amp;quot; an&lt;br /&gt;
&lt;br /&gt;
Ab sofort werden im Frontend nur noch die Datensätze angezeigt, die wir in unserer Backend-Liste &amp;quot;MyMusik&amp;quot; mit dem Icon &amp;quot;Auge&amp;quot; markiert haben.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Select Filter im Frontend einbauen=&lt;br /&gt;
Hier müssen wir in diversen MM-Backend-Funktionen diverse Veränderungen vornehmen&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Filter definieren==&lt;br /&gt;
Wir nehmen den neuen Filter, ergänzen diesen und geben ihm einen neuen Namen &amp;quot;FE Filter published/Country&amp;quot;. Dieser angepasste Filter muss zwei Bedingungen erfüllen:&lt;br /&gt;
* Er soll wie bisher nur die publizierten Musikstücke anzeigen&lt;br /&gt;
* Er soll nur die Länder anzeigen, die wir über ein Select anwählen, das über der FE Liste angezeigt wird&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen3.png|thumb|400px]]&lt;br /&gt;
* Wir wählen die Filtereinstellungen des &amp;quot;Filters FE Filter published&amp;quot;&lt;br /&gt;
* Wir wählen &amp;quot;neu&amp;quot; und setzen die neue Einstellung unterhalb der Einstellung &amp;quot;Published State&amp;quot; ein&lt;br /&gt;
* Wir nehmen den Typ &amp;quot;Einzelauswahl&amp;quot;, weisen das Attribut &amp;quot;Land [text]&amp;quot; zu und aktivieren diesen&lt;br /&gt;
* Optional wählen wir noch die Option &amp;quot;Leerer Wert&amp;quot; an. Dies bewirkt, dass im späteren Select überhalb unserer Länderauswahl ein leerer Eintrag generiert wird&lt;br /&gt;
* Wir &amp;quot;Speichern und schliessen&amp;quot; den Dialog&lt;br /&gt;
&lt;br /&gt;
Nun erscheint uns neu der Filter &amp;quot;FE Filter published&amp;quot; als eine Kombination von 2 Filtereinstellungen. Man kann sich nun leicht vorstellen, wie komplex man sich diesen Filter bauen kann, wenn man will.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neues Frontend-Modul erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_anpassen4.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir erstellen hier ein neues Frontend-Modul&lt;br /&gt;
* Wir wählen hierzu den Modultyp &amp;quot;MetaModels Filter&amp;quot; und geben ihm den Namen &amp;quot;MM - MyMusik Filter&amp;quot;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehendes Frontend-Modul anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen5.png|thumb|400px]]&lt;br /&gt;
* Wir gehen über die Themes zu unseren Frontend-Modulen&lt;br /&gt;
* Wir nehmen das &amp;amp;nbsp;Frontend-Modul &amp;quot;MM - MyMusik Liste&amp;quot;&lt;br /&gt;
* Wir sortieren nach &amp;quot;Land&amp;quot; und &amp;quot;Aufsteigend&amp;quot;&lt;br /&gt;
* Neu ist nun, dass wir hier unter &amp;quot;anzuwendende Filtereinstellungen&amp;quot; den überarbeiteten Filter &amp;quot;FE Filter published&amp;quot; nehmen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestehenden Artikel anpassen==&lt;br /&gt;
[[File:mm_backend_filter_anpassen6.png|thumb|400px]]&lt;br /&gt;
* Wir gehen nun zu unserem Artikel, wo wir einst unser Frontend-Modul &amp;quot;MM - MyMusic Liste&amp;quot; verbaut haben&lt;br /&gt;
* Darüber erstellen wir neu ein weiteres Inhaltselement, ein weiteres Frontend-Modul. Diesmal das neu erstellte FE-Modul &amp;quot;MM - MyMusic Filter&amp;quot;&lt;br /&gt;
* to be continued&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Frontend Ansicht=&lt;br /&gt;
Die FE-Liste erscheint nun neu mit einem HTML-Select. Über die Auswahl lässt sich nun die darunterliegende Liste länderspezifisch verkürzen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_frontend_beispiel_filter.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_2|Zurück zur Beispiel 2]] | [[MetaModels_Beispiel_4|Weiter Beispiel 4: Weiter MetaModels hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel_1</id>
		<title>MetaModels Beispiel 1</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel_1"/>
				<updated>2014-04-23T21:13:33Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: kleiner Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Backend einrichten=&lt;br /&gt;
Als Beispielprojekt soll eine einfache &amp;quot;Musikbox&amp;quot; gebaut werden, in der Musikstücke mit gewissen Attributen (&amp;quot;Eigenschaften&amp;quot;) erfasst werden. Zu diesem Zweck wird zuerst das Backend aufgebaut. Hierzu braucht man eine Übersichtsliste und ein Erfassungsformular.&lt;br /&gt;
&lt;br /&gt;
===Vorgehensschritte===&lt;br /&gt;
# [[MetaModels|Start: Installation]] - Download und Installation von MetaModels&lt;br /&gt;
# [[MetaModels_Beispiel_1|Beispiel 1: Backend einrichten]] - MetaModel erstellen, Daten erfassen&lt;br /&gt;
# [[MetaModels_Beispiel_2|Beispiel 2: Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3|Beispiel 3: Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4|Beispiel 4: Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
&lt;br /&gt;
=Eine leere Datenbank erstellen=&lt;br /&gt;
&lt;br /&gt;
[[File:mm_startscreen.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Zuerst wird ein neues MetaModel erstellt. Technischen gesehen wird dabei in der Contao-Datenbank eine leere Tabelle angelegt. &lt;br /&gt;
&lt;br /&gt;
* Klick auf '''Neues MetaModel'''&lt;br /&gt;
* Name: '''Musicbox'''&lt;br /&gt;
* TabellenName: '''mm_musicbox'''&lt;br /&gt;
&lt;br /&gt;
===Anmerkungen===&lt;br /&gt;
&lt;br /&gt;
* In unserem Beispiel aktivieren wir die Mehrsprachigkeit, um nachträglich weitere Sprachen anlegen zu können. Falls man im Vorfeld weiß, dass man keine weiteren Sprachen benötigt, muss der Haken nicht gesetzt werden. MetaModels ist auch ohne Mehrprachigkeit komplett funktionstüchtig.&lt;br /&gt;
* '''Varianten unterstützen''' wird vorläufig nicht benötigt.... und gegebenenfalls zu einem späteren Zeitpunkt erläutert.&lt;br /&gt;
&lt;br /&gt;
===Auszuführen===&lt;br /&gt;
&lt;br /&gt;
* '''Übersetzung''' anhaken&lt;br /&gt;
* mindestens eine unterstützte Sprache auswählen&lt;br /&gt;
* eine Sprache (z.B. '''Deutsch''') zum Fallback machen&lt;br /&gt;
* '''Varianten aktivieren''' vorerst nicht anhaken&lt;br /&gt;
&lt;br /&gt;
Man sieht nun ein MetaModel &amp;quot;Musicbox&amp;quot; mit 0 (null) Datensätzen und einer Reihe von Icons, die nun zur Weiterbearbeitung genutzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MetaModels Backend-Funktionen==&lt;br /&gt;
Kurze Erklärung, was sich hinter den nun dargestellten Symbolen verbirgt (in Klammern ist angegegeben, was als Tooltip ausgegeben wird):&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_funktionen_icons.png|link=|border]]&lt;br /&gt;
&lt;br /&gt;
[[File:icons_bearbeiten.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier gelangt man wieder zurück zum gleichen Screen, wie bei der Erstellung eines neuen MetaModels. Hier kann man jederzeit sowohl den '''Namen''' als auch den '''Tabellennamen''' des MetaModels ändern.&lt;br /&gt;
&lt;br /&gt;
# [[MetaModels_Backend:_Attribute|'''Attribute''']] (Attribute für MetaModel ID x definieren)&lt;br /&gt;
# [[MetaModels_Backend:_Ausgabevorgaben|'''Ausgabevorgaben''']] (Render-Einstellungen für MetaModel ID x definieren)&lt;br /&gt;
# [[MetaModels_Backend:_Eingabemaske|'''Eingabemaske''']] (Eingabemaske für das MetaModel ID x definieren)&lt;br /&gt;
# [[MetaModels_Backend:_Filter|'''Filter''']] (Filter für MetaModel ID x definieren)&lt;br /&gt;
# [[MetaModels_Backend:_Ansichtseinstellungen|'''Paletten- und Ansichtseinstellungen''']] (Definieren Sie die Eingabe- / Ausgabe-Optionen für MetaModel ID x)&lt;br /&gt;
&lt;br /&gt;
=Das Backend konfigurieren=&lt;br /&gt;
&lt;br /&gt;
Um das Backend für die Erfassung der Daten vorzubereiten benötigt man a) eine Übersichtsliste und b) ein Erfassungsformular. Hierzu braucht man 4 der 5 Backend-Funktionen von MetaModels.&lt;br /&gt;
&lt;br /&gt;
* Datenbank erstellen, benennen, Sprachvariable zuweisen&lt;br /&gt;
* Felder definieren, Attribute festlegen, Erfassungsformular gestalten&lt;br /&gt;
* Übersichtsliste definieren&lt;br /&gt;
* Erfassung (z.B. für Redakteure) freigeben&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Attribute==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier erfasst man die benötigen Felder für die Eingabe.&lt;br /&gt;
s. [[MetaModels_Backend:_Attribute|allgemeine Infos]] zu den Attributen&lt;br /&gt;
&lt;br /&gt;
[[File:mm_attribute_erfassen.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt man folgende Felder ein (im nebenstehenden Screen ist das beispielhaft für das Attribut &amp;quot;Titel&amp;quot; dargestellt):&lt;br /&gt;
{|&lt;br /&gt;
|- &lt;br /&gt;
| '''Titel'''&lt;br /&gt;
|&lt;br /&gt;
* Attribute Type= Text&lt;br /&gt;
* Column name= title&lt;br /&gt;
* Name (deutsch)= Titel&lt;br /&gt;
* Description (deutsch)= Name des Stücks&lt;br /&gt;
|- &lt;br /&gt;
| '''Interpret'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Text&lt;br /&gt;
* Column name= composer&lt;br /&gt;
* Name (deutsch)= Interpret&lt;br /&gt;
* Description (deutsch)= Name der Band, SängerIn oder InterpretIn&lt;br /&gt;
|- &lt;br /&gt;
| '''Land'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Text&lt;br /&gt;
* Column name= country&lt;br /&gt;
* Name (deutsch)= Land&lt;br /&gt;
* Description (deutsch)=&lt;br /&gt;
|- &lt;br /&gt;
| '''Jahr'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Dezimal&lt;br /&gt;
* Column name= year&lt;br /&gt;
* Name (deutsch)= Jahr&lt;br /&gt;
* Description (deutsch)= Erscheinungsjahr&lt;br /&gt;
|- &lt;br /&gt;
| '''Beschreibung'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Langtext&lt;br /&gt;
* Column name= description&lt;br /&gt;
* Name (deutsch)= Beschreibung&lt;br /&gt;
* Description (deutsch)= Wikipedia, Kurzbeschreibung, etc.&lt;br /&gt;
|- &lt;br /&gt;
| '''Cover'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Datei&lt;br /&gt;
* Column name= images&lt;br /&gt;
* Name (deutsch)= Cover&lt;br /&gt;
* Description (deutsch)= Cover, Bilder&lt;br /&gt;
|- &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Bis jetzt wurde bei keinem der Attribute die Option '''Unique values''' aktiviert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Um die Einträge eindeutig identifizieren zu können, wird zusätzlich ein Alias-Attribut erzeugt:&lt;br /&gt;
|- &lt;br /&gt;
| '''Alias'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Alias&lt;br /&gt;
* Column name= alias&lt;br /&gt;
* Name (deutsch)= Alias&lt;br /&gt;
* Description (deutsch)=&lt;br /&gt;
* Unique values= aktiviert&lt;br /&gt;
* Alias Neuerstellung erzwingen = aktiviert&amp;lt;br&amp;gt;(dann muss kein Alias eingegeben werden, wird neu berechnet bei Änderung des Titels)&lt;br /&gt;
* Aliasfelder = Titel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Ausgabevorgaben (aka Render-Einstellungen)==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Hier wird die Ansicht erfasst: Eine Listendarstellung für das Backend.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_ausgabe_definieren.png|right|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Auf '''neu''' klicken&lt;br /&gt;
* '''BE Listenansicht''' eingeben&lt;br /&gt;
* Der Rest kann so stehen bleiben, denn für die BE Listenansicht braucht man weder eine '''Zielseite''' noch '''Filter settings'''.&lt;br /&gt;
&lt;br /&gt;
(s. [[MetaModels_Backend:_Ausgabevorgaben|allgemeine Ausgabe-Vorgaben]])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_ausgabe_attribute_definieren.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Um auszuwählen, welche Felder in der BE Listenansicht angezeigt werden sollen, klickt man einfach auf das entsprechende Icon rechts:&lt;br /&gt;
&lt;br /&gt;
* '''Add all''' fügt alle Felder auf einen Rutsch hinzu. Man kann auch '''Neu''' wählen und die Felder einzeln hinzufügen, aber mit '''Add all''' gehts am schnellsten.&lt;br /&gt;
* Die Frage, ob alle Attribute hinzugefügt werden sollen(&amp;quot;''Add all attributes to render setting''&amp;quot;), wird mit '''Weiter''' bestätigt.&lt;br /&gt;
* Nun werden alle Attribute aufgelistet, die im vorangegangenen Schritt erfasst worden sind.&lt;br /&gt;
&lt;br /&gt;
Über das übliche 'Auge' werden nur die Attribute sichtbar gemacht, die in der Backend-Liste angezeigt werden sollen.&lt;br /&gt;
Für dieses Tutorial wählen wir : '''Titel''', '''Interpret''', '''Land''' und '''Jahr'''.&lt;br /&gt;
&lt;br /&gt;
(( alter Screen, wird ersetzt ))&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Eingabemaske (fka Paletteneinstellungen)==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier legt man fest, wo und wie im BE die Daten zur Musicbox erfasst werden sollen.&lt;br /&gt;
&lt;br /&gt;
===BE-Liste===&lt;br /&gt;
[[File:mm_paletten_BE_liste.png|thumb|400px]]&lt;br /&gt;
Nach Klick auf '''Neue Eingabemaske''' öffnet sich ein [[MetaModels_Backend:_Eingabemaske|Erfassungsformular]]. Hier die Werte eingeben, wie nebenan abgebildet:&lt;br /&gt;
* Name: '''BE Erfassung'''&lt;br /&gt;
* Option '''Als Standard benutzen'''&lt;br /&gt;
* Panel-Layout: Es stehen 4 Werte ('''filter''', '''sort''', '''search''' und '''limit''') zur Verfügung. Diese können auch über das Icon rechts abgerufen werden.&lt;br /&gt;
**Werden hier mehrere Werte eingegeben, so sind diese entweder durch Komma (,) oder durch Semikolon (;) voneinander zu trennen - nur mit Leerzeichen getrennte Werte werden ignoriert.&lt;br /&gt;
**Komma =&amp;gt; Ausgabe in der gleichen Zeile wie der vorhergehende Wert&lt;br /&gt;
**Semikolon =&amp;gt; Ausgabe in neuer Zeile.&lt;br /&gt;
* Integration: '''Als Einzeltabelle'''&lt;br /&gt;
* Sortiermodus: '''2 Datensätze nach wählbarem Feld sortiert darstellen''' (Wichtig: Sowohl dieser Wert als auch '''sort''' im '''Panel-Layout''' müssen definiert sein, ansonsten erscheint die Sortier-Funktion nicht.&lt;br /&gt;
* Sortierung: Auf- oder Absteigend... wie es dir gefällt&lt;br /&gt;
* Backend-Bereich: '''Inhalte''' (oder wo soll es in der Backend-Navigation eingesetzt werden)&lt;br /&gt;
* Backend-Icon: Auf Wunsch kann hier ein eigenes Icon gesetzt werden&lt;br /&gt;
* Backend-Beschreibung: wie abgebildet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nun wurde eine Eingabemaske namens '''BE Erfassung''' erstellt. Im Folgenden wird nun das Erfassungs-Formular ein wenig gestaltet.&amp;lt;br&amp;gt;&lt;br /&gt;
Im letzten Kapitel auf dieser Seite ('''Die Daten erfassen''') sieht man, wie die Liste/das Formular zwecks Erfassung der Musikstücke aussieht.&lt;br /&gt;
{{Hinweis|Mit der Erweiterung '''MetaModels Boilerplate''' (Nightly Build) kann man die MetaModels in einem separaten '''Backend-Bereich''' in der BE-Navigation unterbringen.}}{{Hinweis|Die Option '''Sortierung''' ist beim erstmaligen Bearbeiten der Seite noch nicht sichtbar. Es empfiehlt sich daher, nach Auswahl des '''Backend-Bereich'''s (hier: Inhalte) die Seite zu speichern. Jetzt kann die Sortierung festgelegt werden.}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===BE-Formular===&lt;br /&gt;
[[File:mm_paletten_BE_formular.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Man fügt nun alle Attribute zur Palette hinzu, indem man auf das Icon rechts (''Die Einstellungen der Palette ID xx bearbeiten'') klickt.&lt;br /&gt;
* '''Alle hinzufügen''' wählen und alle nun folgenden Screens bestätigen.&lt;br /&gt;
* Man erhält so eine Liste aller Attribute, die man einzeln bearbeiten kann.&lt;br /&gt;
* Auf Wunsch kan man hier auch die Reihenfolge umstellen und so bestimmen, wie die Daten erfasst werden sollen.&lt;br /&gt;
* Angefangen wird mit dem ersten Eintrag '''Titel [text]'''&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:mm_paletten_BE_formular2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Folgendes Beispiel zeigt, was man bei der Erfassung des Attributs '''Titel''' alles einstellen kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Ein Klick auf das Editier-Icon zeigt die wichtigsten Einstellungen:&lt;br /&gt;
* Backend-Class: Damit kann man das Formular bzw. die Erfassungfelder etwas gestalten. 5 Werte stehen zur Verfügung: '''w50''', '''clr''', '''long''', '''wizard''' und '''m12'''&lt;br /&gt;
* Pflichtfeld: Durch Anklicken legt man fest, ob auf diesem Feld eine Inhaltsprüfung stattfinden soll. Die Felder werden mit einem roten Asterisk gekennzeichnet.&lt;br /&gt;
* Filterbar, Durchsuchbar, Sortierbar: Mit diesen Optionen kann man die BE-Liste etwas organisieren. Praktisch wenn man mehrere Dutzend/Hunderte von Datensätze erfasst hat.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Zugriffsrechte definieren==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_ansichtseinstellungen.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier legt man fest, wer im Backend auf die Daten von MetaModel zugreifen und diese editieren darf.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ansichtseinstellungen.png|730px]]&lt;br /&gt;
&lt;br /&gt;
Damit die Benutzer den MM auch sehen können, muß in den Gruppen-/Benutzerrechten auch noch dieser MM freigeschaltet werden. Den MM findet man unter 'Erlaubte Module' &amp;gt; 'Backend Module'. Je nachdem ob man den MM einzeln oder Untergeordnet anzeigen lässt dann an der jeweiligen Stelle.&lt;br /&gt;
&lt;br /&gt;
=Die Daten erfassen=&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_erfassen.png|thumb|600px]]&lt;br /&gt;
&lt;br /&gt;
Und so sieht's aus:&amp;lt;br&amp;gt;Nun wird in der linken Navigationsübersicht &amp;quot;Backend-Module&amp;quot; ein neuer Eintrag angezeigt und man kann mit der Erfassung der Musikstücke beginnen.&lt;br /&gt;
&lt;br /&gt;
* Mit Klick auf '''MyMusik''' gelangt man auf die BE Listenansicht. Diese ist noch leer&lt;br /&gt;
* Mit Klick auf '''Neuer Datensatz'''. öffnet sich ein Formular, mit dem sich nun der erste Datensatz erfassen lässt&lt;br /&gt;
* Die gewünschten Werte eingeben und mit '''Speichern und Schliessen''' bestätigen&lt;br /&gt;
* Nun erscheint der erste Eintrag in der BE Listenansicht&lt;br /&gt;
* Diesen Vorgang wiederholen, bis alle Datensätze erfasst wurden&lt;br /&gt;
* Über der BE Listenansicht stehen nun die Panel-Layout Funktionen '''Suchen''', '''Sortieren''', '''Filtern''' und '''Anzeigen''' zur Verfügung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispielprojekt|Zurück zur Beispiel-Übersicht]] | [[MetaModels_Beispiel_2|Weiter zum Beispiel 2: Erstellung der Frontend-Ansicht]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/CSS_f%C3%BCr_pagination</id>
		<title>CSS für pagination</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/CSS_f%C3%BCr_pagination"/>
				<updated>2014-04-15T22:04:42Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen}}&lt;br /&gt;
[[Category:CSS HOWTOS]]&lt;br /&gt;
[[Datei:Css-pagination.png]]&lt;br /&gt;
Diese Beispiele zeigen die Formatierung einer Pagination mit einem Trenner zwischen den Nummern. In diesem Fall ein &amp;amp;amp;middot; (&amp;quot;&amp;amp;middot;&amp;quot;). Der schwierige Teil ist wahrscheinlich das Ansprechen der ersten Nummer.&lt;br /&gt;
=Variante 1: Trenner auf den Ankern und SPANs=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... Pagination - anchors ... &lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.pagination ul,&lt;br /&gt;
.pagination li {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.pagination li {&lt;br /&gt;
  float: left;&lt;br /&gt;
}&lt;br /&gt;
/* alle Items */&lt;br /&gt;
.pagination a,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
/* alle Nummern */&lt;br /&gt;
.pagination a.link,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  padding-left: 10px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.pagination a.link:before,&lt;br /&gt;
.pagination span:before {&lt;br /&gt;
  content: &amp;quot;·&amp;quot;; /* &amp;amp;middot; */&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
}&lt;br /&gt;
/* erste Nummer wieder zurücksetzen */&lt;br /&gt;
.pagination li[class] + li a.link,&lt;br /&gt;
.pagination li:first-child a.link,&lt;br /&gt;
.pagination li[class] + li span,&lt;br /&gt;
.pagination li:first-child span {&lt;br /&gt;
  padding-left: 5px;&lt;br /&gt;
}&lt;br /&gt;
.pagination li[class] + li a.link:before,&lt;br /&gt;
.pagination li:first-child a.link:before,&lt;br /&gt;
.pagination li[class] + li span:before,&lt;br /&gt;
.pagination li:first-child span:before {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
/* ... Pagination - anchors ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Variante 2: Trenner auf den Listenpunkten=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... Pagination - list points ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.pagination ul,&lt;br /&gt;
.pagination li {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.pagination li {&lt;br /&gt;
  float: left;&lt;br /&gt;
  position: relative;&lt;br /&gt;
  padding-left: 5px; /* Platz für Trenner */&lt;br /&gt;
}&lt;br /&gt;
/* alle Items */&lt;br /&gt;
.pagination a,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
/* alle Listenpunkte */&lt;br /&gt;
.pagination li:before {&lt;br /&gt;
  content: &amp;quot;·&amp;quot;; /* &amp;amp;middot; */&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: .25em;&lt;br /&gt;
}&lt;br /&gt;
/* Keine Nummer und erste Nummer wieder zurücksetzen */&lt;br /&gt;
.pagination li[class],&lt;br /&gt;
.pagination li[class] + li,&lt;br /&gt;
.pagination li:first-child {&lt;br /&gt;
  padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
.pagination li[class]:before,&lt;br /&gt;
.pagination li[class] + li:before,&lt;br /&gt;
.pagination li:first-child:before {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
/* ... Pagination - list points ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Siehe auch https://github.com/contao/core/issues/6082&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 14:54, 15. Apr. 2014 (CEST)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/CSS_f%C3%BCr_pagination</id>
		<title>CSS für pagination</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/CSS_f%C3%BCr_pagination"/>
				<updated>2014-04-15T22:00:29Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Neue Code-Variante&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen}}&lt;br /&gt;
[[Category:CSS HOWTOS]]&lt;br /&gt;
[[Datei:Css-pagination.png]]&lt;br /&gt;
Diese Beispiele zeigen die Formatierung einer Pagination mit einem Trenner zwischen den Nummern. In diesem Fall ein &amp;amp;amp;middot; (&amp;quot;&amp;amp;middot;&amp;quot;). Der schwierige Teil ist wahrscheinlich das Ansprechen der ersten Nummer.&lt;br /&gt;
=Variante 1: Trenner auf den Ankern und SPANs=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... Pagination - anchors ... &lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.pagination ul,&lt;br /&gt;
.pagination li {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.pagination li {&lt;br /&gt;
  float: left;&lt;br /&gt;
}&lt;br /&gt;
/* alle Items */&lt;br /&gt;
.pagination a,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
/* alle Nummern */&lt;br /&gt;
.pagination a.link,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  padding-left: 10px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.pagination a.link:before,&lt;br /&gt;
.pagination span:before {&lt;br /&gt;
  content: &amp;quot;·&amp;quot;; /* &amp;amp;middot; */&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
}&lt;br /&gt;
/* erste Nummer wieder zurücksetzen */&lt;br /&gt;
.pagination li[class] + li a.link,&lt;br /&gt;
.pagination li:first-child a.link,&lt;br /&gt;
.pagination li[class] + li span,&lt;br /&gt;
.pagination li:first-child span {&lt;br /&gt;
  padding-left: 5px;&lt;br /&gt;
}&lt;br /&gt;
.pagination li[class] + li a.link:before,&lt;br /&gt;
.pagination li:first-child a.link:before,&lt;br /&gt;
.pagination li[class] + li span:before,&lt;br /&gt;
.pagination li:first-child span:before {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
/* ... Pagination - anchors ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Variante 2: Trenner auf den Listenpunkten=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... Pagination - list points ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.pagination ul,&lt;br /&gt;
.pagination li {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.pagination li {&lt;br /&gt;
  float: left;&lt;br /&gt;
  position: relative;&lt;br /&gt;
  padding-left: 5px; /* Platz für Trenner */&lt;br /&gt;
}&lt;br /&gt;
/* alle Items */&lt;br /&gt;
.pagination a,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
/* alle Nummern */&lt;br /&gt;
.pagination li:before {&lt;br /&gt;
  content: &amp;quot;·&amp;quot;; /* &amp;amp;middot; */&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: .25em;&lt;br /&gt;
}&lt;br /&gt;
/* Keine Nummer und erste Nummer wieder zurücksetzen */&lt;br /&gt;
.pagination li[class],&lt;br /&gt;
.pagination li[class] + li,&lt;br /&gt;
.pagination li:first-child {&lt;br /&gt;
  padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
.pagination li[class]:before,&lt;br /&gt;
.pagination li[class] + li:before,&lt;br /&gt;
.pagination li:first-child:before {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
/* ... Pagination - list points ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Siehe auch https://github.com/contao/core/issues/6082&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 14:54, 15. Apr. 2014 (CEST)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/CSS_f%C3%BCr_pagination</id>
		<title>CSS für pagination</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/CSS_f%C3%BCr_pagination"/>
				<updated>2014-04-15T12:58:19Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen}}&lt;br /&gt;
[[Category:CSS HOWTOS]]&lt;br /&gt;
[[Datei:Css-pagination.png]]&lt;br /&gt;
Dieses Beispiel zeigt die Formatierung einer Pagination mit einem Trenner zwischen den Nummern. In diesem Fall ein &amp;amp;amp;middot; &amp;quot;&amp;amp;middot;&amp;quot;. Der schwierige Teil ist wahrscheinlich das Ansprechen der ersten Nummer.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.pagination ul,&lt;br /&gt;
.pagination li {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.pagination li {&lt;br /&gt;
  float: left;&lt;br /&gt;
}&lt;br /&gt;
/* alle Items */&lt;br /&gt;
.pagination a,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
/* alle Nummern */&lt;br /&gt;
.pagination a.link,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  padding-left: 10px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.pagination a.link:before,&lt;br /&gt;
.pagination span:before {&lt;br /&gt;
  content: &amp;quot;·&amp;quot;; /* &amp;amp;middot; */&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
}&lt;br /&gt;
/* erste Nummer wieder zurücksetzen */&lt;br /&gt;
.pagination li[class] + li a.link,&lt;br /&gt;
.pagination li:first-child a.link,&lt;br /&gt;
.pagination li[class] + li span,&lt;br /&gt;
.pagination li:first-child span {&lt;br /&gt;
  padding-left: 5px;&lt;br /&gt;
}&lt;br /&gt;
.pagination li[class] + li a.link:before,&lt;br /&gt;
.pagination li:first-child a.link:before,&lt;br /&gt;
.pagination li[class] + li span:before,&lt;br /&gt;
.pagination li:first-child span:before {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Siehe auch https://github.com/contao/core/issues/6082&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 14:54, 15. Apr. 2014 (CEST)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/CSS_f%C3%BCr_pagination</id>
		<title>CSS für pagination</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/CSS_f%C3%BCr_pagination"/>
				<updated>2014-04-15T12:55:07Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen}}&lt;br /&gt;
[[Category:CSS HOWTOS]]&lt;br /&gt;
[[Datei:Css-pagination.png]]&lt;br /&gt;
Dieses Beispiel zeigt die Formatierung einer Pagination mit einem Trenner zwischen den Nummern. In diesem Fall ein &amp;amp;amp;middot; &amp;quot;&amp;amp;middot;&amp;quot;. Der schwierige Teil ist wahrscheinlich das Ansprechen der ersten Nummer.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.pagination ul,&lt;br /&gt;
.pagination li {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.pagination li {&lt;br /&gt;
  float: left;&lt;br /&gt;
}&lt;br /&gt;
/* alle Items */&lt;br /&gt;
.pagination a,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
/* alle Nummern */&lt;br /&gt;
.pagination a.link,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  padding-left: 10px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.pagination a.link:before,&lt;br /&gt;
.pagination span:before {&lt;br /&gt;
  content: &amp;quot;·&amp;quot;; /* &amp;amp;middot; */&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
}&lt;br /&gt;
/* erste Nummer wieder zurücksetzen */&lt;br /&gt;
.pagination li[class] + li a.link,&lt;br /&gt;
.pagination li:first-child a.link,&lt;br /&gt;
.pagination li[class] + li span,&lt;br /&gt;
.pagination li:first-child span {&lt;br /&gt;
  padding-left: 5px;&lt;br /&gt;
}&lt;br /&gt;
.pagination li[class] + li a.link:before,&lt;br /&gt;
.pagination li:first-child a.link:before,&lt;br /&gt;
.pagination li[class] + li span:before,&lt;br /&gt;
.pagination li:first-child span:before {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 14:54, 15. Apr. 2014 (CEST)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/CSS_f%C3%BCr_pagination</id>
		<title>CSS für pagination</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/CSS_f%C3%BCr_pagination"/>
				<updated>2014-04-15T12:54:15Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Neue Seite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen}}&lt;br /&gt;
[[Category:CSS HOWTOS]]&lt;br /&gt;
[[Datei:Css-pagination.png]]&lt;br /&gt;
Dieses Beispiel zeigt die Formatierung einer Pagination mit einem Trenner zwischen den Nummern. In diesem Fall ein &amp;amp;amp;middot; &amp;quot;&amp;amp;middot;&amp;quot;. Der schwierige Teil ist wahrscheinlich das Ansprechen der ersten Nummer.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.pagination ul,&lt;br /&gt;
.pagination li {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.pagination li {&lt;br /&gt;
  float: left;&lt;br /&gt;
}&lt;br /&gt;
/* alle Items */&lt;br /&gt;
.pagination a,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
/* alle Nummern */&lt;br /&gt;
.pagination a.link,&lt;br /&gt;
.pagination span {&lt;br /&gt;
  padding-left: 10px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.pagination a.link:before,&lt;br /&gt;
.pagination span:before {&lt;br /&gt;
  content: &amp;quot;·&amp;quot;; /* &amp;amp;middot; */&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
}&lt;br /&gt;
/* erste Nummer wieder zurück setzen */&lt;br /&gt;
.pagination li[class] + li a.link,&lt;br /&gt;
.pagination li:first-child a.link,&lt;br /&gt;
.pagination li[class] + li span,&lt;br /&gt;
.pagination li:first-child span {&lt;br /&gt;
  padding-left: 5px;&lt;br /&gt;
}&lt;br /&gt;
.pagination li[class] + li a.link:before,&lt;br /&gt;
.pagination li:first-child a.link:before,&lt;br /&gt;
.pagination li[class] + li span:before,&lt;br /&gt;
.pagination li:first-child span:before {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 14:54, 15. Apr. 2014 (CEST)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Datei:Css-pagination.png</id>
		<title>Datei:Css-pagination.png</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Datei:Css-pagination.png"/>
				<updated>2014-04-15T12:52:16Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: hat eine neue Version von „Datei:Css-pagination.png“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Datei:Css-pagination.png</id>
		<title>Datei:Css-pagination.png</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Datei:Css-pagination.png"/>
				<updated>2014-04-15T12:49:06Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: hat eine neue Version von „Datei:Css-pagination.png“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Datei:Css-pagination.png</id>
		<title>Datei:Css-pagination.png</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Datei:Css-pagination.png"/>
				<updated>2014-04-15T12:38:27Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: hat eine neue Version von „Datei:Css-pagination.png“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Datei:Css-pagination.png</id>
		<title>Datei:Css-pagination.png</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Datei:Css-pagination.png"/>
				<updated>2014-04-15T12:36:44Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Diskussion:Ce_be_remarks</id>
		<title>Diskussion:Ce be remarks</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Diskussion:Ce_be_remarks"/>
				<updated>2014-03-12T10:57:55Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Dead Link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Link zu dem Icon-Set ist nicht mehr erreichbar. Scheint so, als wäre dieses Icon-Set nicht mehr erhältlich. Kannst du das bitte prüfen? Danke.&lt;br /&gt;
&lt;br /&gt;
http://wefunction.com/2008/07/function-free-icon-set/&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 11:57, 12. Mär. 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Diskussion:Die_erste_Webseite_-_Header_und_Footer</id>
		<title>Diskussion:Die erste Webseite - Header und Footer</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Diskussion:Die_erste_Webseite_-_Header_und_Footer"/>
				<updated>2014-02-12T11:35:34Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eigentlich ging es mir in diesem Artikel genau darum insbesondere Anfänger davon abzuhalten eigenen HTML-Code in Module zu schreiben, so wie man es leider auch in der Contao-Demo &amp;quot;Music Academy&amp;quot; findet. Unter anderem und vor allem auch deshalb weil damit sicher gestellt ist, dass der HTML-Code immer fehlerfrei ist und den neuesten Standards entspricht. Deshalb finde ich den hinzugefügten Punkt &amp;quot;Alternativer Header&amp;quot; nicht so gut.&lt;br /&gt;
&lt;br /&gt;
Wenn nichts dagegen spricht, werde ich den Teil demnächst wieder entfernen.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 00:55, 12. Feb. 2014 (CET)&lt;br /&gt;
&lt;br /&gt;
'''Da bin ich konform''' - vielleicht erbarmt sich allerdings jemand und schiebt den Schnipsel für den Header mach Snippets? Ist ja nicht falsch, nur eben nicht am richtigen Ort.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Lucina|Lucina]] 08:51, 12. Feb. 2014 (CET)&lt;br /&gt;
&lt;br /&gt;
Dann möchte ich ciaobello darum bitten das zu tun.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 12:35, 12. Feb. 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Diskussion:Die_erste_Webseite_-_Header_und_Footer</id>
		<title>Diskussion:Die erste Webseite - Header und Footer</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Diskussion:Die_erste_Webseite_-_Header_und_Footer"/>
				<updated>2014-02-12T11:35:21Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eigentlich ging es mir in diesem Artikel genau darum insbesondere Anfänger davon abzuhalten eigenen HTML-Code in Module zu schreiben, so wie man es leider auch in der Contao-Demo &amp;quot;Music Academy&amp;quot; findet. Unter anderem und vor allem auch deshalb weil damit sicher gestellt ist, dass der HTML-Code immer fehlerfrei ist und den neuesten Standards entspricht. Deshalb finde ich den hinzugefügten Punkt &amp;quot;Alternativer Header&amp;quot; nicht so gut.&lt;br /&gt;
&lt;br /&gt;
Wenn nichts dagegen spricht, werde ich den Teil demnächst wieder entfernen.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 00:55, 12. Feb. 2014 (CET)&lt;br /&gt;
&lt;br /&gt;
'''Da bin ich konform''' - vielleicht erbarmt sich allerdings jemand und schiebt den Schnipsel für den Header mach Snippets? Ist ja nicht falsch, nur eben nicht am richtigen Ort.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Lucina|Lucina]] 08:51, 12. Feb. 2014 (CET)&lt;br /&gt;
&lt;br /&gt;
Dann möchte ich ciaobello darum bitten das zu tun.&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 12:35, 12. Feb. 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Diskussion:Die_erste_Webseite_-_Header_und_Footer</id>
		<title>Diskussion:Die erste Webseite - Header und Footer</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Diskussion:Die_erste_Webseite_-_Header_und_Footer"/>
				<updated>2014-02-11T23:55:51Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Nicht zufrieden mit Änderung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eigentlich ging es mir in diesem Artikel genau darum insbesondere Anfänger davon abzuhalten eigenen HTML-Code in Module zu schreiben, so wie man es leider auch in der Contao-Demo &amp;quot;Music Academy&amp;quot; findet. Unter anderem und vor allem auch deshalb weil damit sicher gestellt ist, dass der HTML-Code immer fehlerfrei ist und den neuesten Standards entspricht. Deshalb finde ich den hinzugefügten Punkt &amp;quot;Alternativer Header&amp;quot; nicht so gut.&lt;br /&gt;
&lt;br /&gt;
Wenn nichts dagegen spricht, werde ich den Teil demnächst wieder entfernen.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 00:55, 12. Feb. 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Die_erste_Webseite_-_Header_und_Footer</id>
		<title>Die erste Webseite - Header und Footer</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Die_erste_Webseite_-_Header_und_Footer"/>
				<updated>2014-02-11T23:48:48Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Erste Schritte]]&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen}}&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 00:48, 12. Feb. 2014 (CET)&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Nachdem man [[Die erste Webseite|die erste Webseite]] erstellt hat, taucht meistens die Frage auf: &amp;quot;Wie erzeugt man einen Header|Footer, der auf allen Seiten erscheint?&amp;quot; In diesem Tutorial wird solch ein Header und Footer erstellt, welcher im Nachhinein ohne HTML-Kenntnisse verändert werden kann.&lt;br /&gt;
&lt;br /&gt;
== Neue Seite RESOURCES ==&lt;br /&gt;
Als erstes erstellt man eine neue Seite &amp;quot;RESOURCES&amp;quot;, welche '''nicht''' veröffentlicht wird.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Seite_RESOURCES.png|Neue Seite RESOURCES, nicht veröffentlicht, nicht durchsuchen - Contao 2.9.3|frame|center]][[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Seitenstruktur.png|Neue Seitenstruktur - Contao 2.9.3|frame|center]]&lt;br /&gt;
&lt;br /&gt;
== Artikel &amp;quot;Header&amp;quot; ==&lt;br /&gt;
Unter Inhalte --&amp;gt; Artikel sieht man, dass automatisch ein Artikel &amp;quot;RESOURCES&amp;quot; erstellt wurde.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Artikel.png|Artikel - Contao 2.9.3|frame|center]]&lt;br /&gt;
Das Veröffentlichungs-Symbol ist grau, weil die Seite nicht veröffentlicht wurde. Mit einem Klick auf das Symbol veröffentlicht man nun diesen Artikel. Das Symbol ist jetzt grün.&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf den Bleistift öffnet man den Artikel. Der Text &amp;quot;Keine Einträge gefunden.&amp;quot; signalisiert, dass der Artikel noch keine Inhalte hat. Dieser Artikel RESOURCES wird als Artikel für den Header genutzt. Mit einem weiteren Klick auf den Bleistift gelangt man in die Eigenschaften des Artikels. Er wird umbenannt von &amp;quot;RESOURCES&amp;quot; nach &amp;quot;Header&amp;quot;.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Artikel_Header.png|Artikel umbenennen - Contao 2.9.3|frame|center]]&lt;br /&gt;
Den Artikelalias &amp;quot;resources&amp;quot; entfernt man, damit beim Speichern automatisch der Artikelalias &amp;quot;header&amp;quot; erzeugt wird.&lt;br /&gt;
&lt;br /&gt;
=== Header Inhalt ===&lt;br /&gt;
Im Artikel &amp;quot;Header&amp;quot; erstellt man ein CE (Inhaltselement) vom Typ &amp;quot;Text&amp;quot;. Dort wird der gewünschte Inhalt eingetragen. Man kann auch direkt ein Bild als Logo auswählen und es als Bildlink auf die Homepage setzen.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_CE_Header.png|CE Typ Text für den Header - Contao 2.9.3|frame|center]]&lt;br /&gt;
&lt;br /&gt;
===Alternativer Header (Eigener HTML-Code)===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
&amp;lt;!-- indexer::stop --&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;a href=&amp;quot;{{env::path}}&amp;quot;&amp;gt;{{page::rootTitle}}&amp;lt;/a&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;!-- indexer::continue --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CSS&lt;br /&gt;
------------------------------&lt;br /&gt;
#header h1 {&lt;br /&gt;
	width:0px;&lt;br /&gt;
	height:0px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#header h1 a {&lt;br /&gt;
	display:block;&lt;br /&gt;
	width:inherit;&lt;br /&gt;
	height:inherit;&lt;br /&gt;
	text-indent:-99999px;&lt;br /&gt;
	background:#fff url(../images/logo.jpg) no-repeat center center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Artikel &amp;quot;Footer&amp;quot; ==&lt;br /&gt;
In der Artikelübersicht erstellt man jetzt unterhalb des Artikels &amp;quot;Header&amp;quot; einen zweiten Artikel &amp;quot;Footer&amp;quot;.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Artikel_Header_und_Footer.png|2 Artikel &amp;quot;Header&amp;quot; und &amp;quot;Footer&amp;quot; auf der Seite RESOURCES - Contao 2.9.3|frame|center]]&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Artikel_Footer.png|Artikel &amp;quot;Footer&amp;quot; benennen und veröffentlichen - Contao 2.9.3|frame|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Footer Inhalt ===&lt;br /&gt;
Wieder wird in dem Artikel ein CE vom Typ ''Text'' erstellt. Diesmal mit dem Inhalt für den Footer.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_CE_Footer.png|CE Typ Text für den Footer - Contao 2.9.3|frame|center]]&lt;br /&gt;
&lt;br /&gt;
== Module erstellen ==&lt;br /&gt;
Bis hierhin hat man jetzt eine unveröffentlichte Seite in der Seitenstruktur erstellt, welche 2 veröffentlichte Artikel enthält: einen für den Footer und einen für den Header. Wie bekommt man diese Artikel nun so auf die Website, dass sie auf allen Seiten erscheinen? Für die seitenweite Einbindung von Inhalten sind die Module zuständig, denn ein Modul kann man im Seitenlayout in einen Layoutbereich einbinden.&lt;br /&gt;
&lt;br /&gt;
Über Layout --&amp;gt; Themes --&amp;gt; Modul-Icon gelangt man zu den Modulen. Man erstellt jeweils ein Modul vom Typ &amp;quot;Eigener HTML-Code&amp;quot; für den Header und für den Footer.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Module.png|2 neue Module vom Typ &amp;quot;Eigener HTML-Code&amp;quot; - Contao 2.9.3|frame|center]]&lt;br /&gt;
In dem Feld &amp;quot;HTML-Code&amp;quot; benutzt man [[Insert-Tags]] um die entsprechenden Artikel auszugeben. Einmal insert_article::header und einmal insert_article::footer.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Modul_Header.png|Hier wird ein Artikel über einen Inserttag ausgegeben - Contao 2.9.3|frame|center]]&lt;br /&gt;
Um den Header und den Footer von der Contao-Suche auszuschließen gibt man am besten folgendes ein.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- indexer::stop --&amp;gt;&lt;br /&gt;
{{insert_article::header}}&lt;br /&gt;
&amp;lt;!-- indexer::continue --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- indexer::stop --&amp;gt;&lt;br /&gt;
{{insert_article::footer}}&lt;br /&gt;
&amp;lt;!-- indexer::continue --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{msgWarning|Ab Contao 3.1.3 kann man den Alias eines Artikels nicht mehr &amp;quot;header&amp;quot; bzw. &amp;quot;footer&amp;quot; nennen. Es wird automatisch &amp;quot;article-&amp;quot; davor geschrieben. Hier der Code für Contao ab 3.1.3&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- indexer::stop --&amp;gt;&lt;br /&gt;
{{insert_article::article-header}}&lt;br /&gt;
&amp;lt;!-- indexer::continue --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- indexer::stop --&amp;gt;&lt;br /&gt;
{{insert_article::article-footer}}&lt;br /&gt;
&amp;lt;!-- indexer::continue --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Module ausgeben ==&lt;br /&gt;
Damit diese Module im FE (Frontend) ausgegeben werden geht man über Layout --&amp;gt; Themes --&amp;gt; Layout-Icon-Bleistift ins Standard-Layout und bindet die 2 Module entsprechend ein.&lt;br /&gt;
Gleichzeitig ändert man noch die Höhe von Header und Footer, da diese in der Beispielseite ein wenig zu niedrig ausgefallen sind.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Layout.png|Das Standard-Layout wird verändert - Contao 2.9.3|frame|center]]&lt;br /&gt;
&lt;br /&gt;
== Resultat ==&lt;br /&gt;
Im FE sieht man nun, dass auf allen Seiten der Header und Footer erscheint. Beide Elemente sind im BE (Backend) auch ohne HTML-Kenntnisse leicht zu verwalten.&lt;br /&gt;
[[Datei:Die_erste_Webseite_-_Header_und_Footer_-_Resultat.png|Ergebnis im FE - Contao 2.9.3|frame|center]]&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T04:46:34Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 2 (Text gedreht) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
Livevorschau auf Codepen:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://codepen.io/Aybee/pen/yrDBo codepen.io Version 1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://codepen.io/Aybee/pen/eqkCJ codepen.io Version 2 (Text gedreht)]&lt;br /&gt;
&lt;br /&gt;
Anm.:&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier unten sind nur Vorschaubilder.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
Anm.:&lt;br /&gt;
'''box-sizing''' wird von FF 25.0.1 noch nicht unterstützt. Deswegen hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
Anm.:&lt;br /&gt;
FF 25.0.1 unterstützt noch kein '''box-sizing''' ohne Präfix '''-moz-'''.&lt;br /&gt;
Chrome 31 unterstützt noch kein '''transform''' ohne Präfix '''-webkit-'''.&lt;br /&gt;
Deswegen hier Präfixe.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0, 333);  &lt;br /&gt;
  transform:         matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  transform-origin:         0 0;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T04:38:45Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Horizontales Akkordeon mit Boardmitteln (MooTools) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
Livevorschau auf Codepen:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://codepen.io/Aybee/pen/yrDBo codepen.io Version 1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://codepen.io/Aybee/pen/eqkCJ codepen.io Version 2 (Text gedreht)]&lt;br /&gt;
&lt;br /&gt;
Anm.:&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier unten sind nur Vorschaubilder.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
Anm.:&lt;br /&gt;
'''box-sizing''' wird von FF 25.0.1 noch nicht unterstützt. Deswegen hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
Anm.:&lt;br /&gt;
FF 25.0.1 unterstützt noch kein '''box-sizing''' ohne Präfix '''-moz-'''.&lt;br /&gt;
Chrome 31 unterstützt noch kein '''transform''' ohne Präfix '''-webkit-'''.&lt;br /&gt;
Deswegen hier Präfixe.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0, 333);  &lt;br /&gt;
  transform:         matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  transform-origin:         0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T04:35:43Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Horizontales Akkordeon mit Boardmitteln (MooTools) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
Livevorschau auf Codepen:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://codepen.io/Aybee/pen/yrDBo codepen.io Version 1]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://coepen.io/Aybee/pen/eqkCJ codepen.io Version 2 (Text gedreht)]&lt;br /&gt;
&lt;br /&gt;
Anm.:&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier unten sind nur Vorschaubilder.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
Anm.:&lt;br /&gt;
'''box-sizing''' wird von FF 25.0.1 noch nicht unterstützt. Deswegen hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
Anm.:&lt;br /&gt;
FF 25.0.1 unterstützt noch kein '''box-sizing''' ohne Präfix '''-moz-'''.&lt;br /&gt;
Chrome 31 unterstützt noch kein '''transform''' ohne Präfix '''-webkit-'''.&lt;br /&gt;
Deswegen hier Präfixe.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0, 333);  &lt;br /&gt;
  transform:         matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  transform-origin:         0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T04:19:59Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
Anm.:&lt;br /&gt;
'''box-sizing''' wird von FF 25.0.1 noch nicht unterstützt. Deswegen hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
Anm.:&lt;br /&gt;
FF 25.0.1 unterstützt noch kein '''box-sizing''' ohne Präfix '''-moz-'''.&lt;br /&gt;
Chrome 31 unterstützt noch kein '''transform''' ohne Präfix '''-webkit-'''.&lt;br /&gt;
Deswegen hier Präfixe.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0, 333);  &lt;br /&gt;
  transform:         matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  transform-origin:         0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T04:18:41Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 2 (Text gedreht) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
Anm.:&lt;br /&gt;
FF 25.0.1 unterstützt noch kein '''box-sizing''' ohne Präfix '''-moz-'''.&lt;br /&gt;
Chrome 31 unterstützt noch kein '''transform''' ohne Präfix '''-webkit-'''.&lt;br /&gt;
Deswegen hier Präfixe.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0, 333);  &lt;br /&gt;
  transform:         matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  transform-origin:         0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T01:53:30Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T01:53:04Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 2 (Text gedreht) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  -moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:      border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T01:27:26Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T01:27:08Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 2 (Text gedreht) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T01:26:24Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
Anm.: '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T01:25:56Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
Anm. '''box-sizing''' wird von FF 25.0.1 immer noch nicht unterstützt. Deswegen auch hier der Präfix '''-moz-'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T01:22:36Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Version 2 (Text gedreht) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  moz-box-sizing: border-box;&lt;br /&gt;
  box-sizing:     border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T00:54:51Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Ziel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
Gestestet auf '''Windows XP''' mit&lt;br /&gt;
* FF 25.0.1&lt;br /&gt;
* Chrome 31.0&lt;br /&gt;
* Opera 12.16&lt;br /&gt;
* Safari 5.1.7&lt;br /&gt;
* IE7/8&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T00:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* CSS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen (auch bei transform: matrix...). Im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Datei:Akkordeon-horizontal-rotate.png</id>
		<title>Datei:Akkordeon-horizontal-rotate.png</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Datei:Akkordeon-horizontal-rotate.png"/>
				<updated>2013-12-07T00:37:37Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Datei:Akkordeon-horizontal.png</id>
		<title>Datei:Akkordeon-horizontal.png</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Datei:Akkordeon-horizontal.png"/>
				<updated>2013-12-07T00:36:54Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeon_horizontal</id>
		<title>Akkordeon horizontal</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeon_horizontal"/>
				<updated>2013-12-07T00:35:20Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Neue SEite Akkordeon horizontal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.2.1}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Horizontales Akkordeon mit Boardmitteln (MooTools) =&lt;br /&gt;
&lt;br /&gt;
[[Datei:Akkordeon-horizontal.png|Version 1]]&lt;br /&gt;
[[Datei:Akkordeon-horizontal-rotate.png|Version 2 (Text gedreht)]]&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
&lt;br /&gt;
Hohe schmale Akkordeon-Reiter stehen vertikal nebeneinander, und die Inhalte öffnen sich horizontal nach rechts.&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
&lt;br /&gt;
Template '''moo_accordion_horizontal.html5''' als Kopie von '''moo_accordion.html5''' erstellen und im Layout anstatt moo_accordion auswählen.&lt;br /&gt;
CSS-Datei '''accordion.css''' erstellen und im Layout einbinden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
MooTools' '''Fx.Accordion''' bietet von Haus aus die Möglichkeit, anstatt der Höhe, die Breite der sich öffnenden Inhaltscontainer zu animieren. Dies wird hier genutzt.&lt;br /&gt;
&lt;br /&gt;
Dazu werden die Optionen im Template geändert von&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
opacity: false,&lt;br /&gt;
alwaysHide: true,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
nach&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
display: 0,        // open first content element&lt;br /&gt;
opacity: false,    // do not animate opacity (maybe there's a bug, as opacity is animated anyway)&lt;br /&gt;
alwaysHide: false, // don't close all content elements, it may look ugly for horizontal accordions&lt;br /&gt;
width: true,       // animate the width&lt;br /&gt;
height: false,     // don't animate the height&lt;br /&gt;
fixedWidth: 777,   // set the width of the opening content element&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier das komplette angepasste Template für Contao 3.2.1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
      new Fx.Accordion($$('div.toggler'), $$('div.accordion'), {&lt;br /&gt;
        display: 0,&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: false,&lt;br /&gt;
        width: true,&lt;br /&gt;
        height: false,&lt;br /&gt;
        fixedWidth: 777,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Das CSS enthält jeweils 3 Blöcke (Zum Testen kann ein Block durch entfernen des letzten Slashes &amp;quot;/&amp;quot; in der Überschrift deaktiviert werden).&lt;br /&gt;
Dabei bedeutet:&lt;br /&gt;
* '''mandatory''' = Pflicht&lt;br /&gt;
* '''recommended''' = empfohlen&lt;br /&gt;
* '''custom''' = eigenes Design&lt;br /&gt;
&lt;br /&gt;
Im endgültigen CSS sollten die Selektoren zusammengefasst werden, z.B. die &amp;quot;.toggler&amp;quot;. Sie sind hier nur wegen ihrer unterschiedlichen Wichtigkeit separiert.&lt;br /&gt;
&lt;br /&gt;
Um die Größenverhältnisse anzupassen finden sich im CSS folgende Werte&lt;br /&gt;
* '''Gesamthöhe''' = 333px&lt;br /&gt;
* '''Togglerbreite''' =  55px&lt;br /&gt;
* '''Inhaltsbreite''' = 777px&lt;br /&gt;
&lt;br /&gt;
Wo man diese Werte findet muss man sie mit seinen eigenen Größen ersetzen. Auch im Template muss man für die Option '''fixedWidth''' den Wert der '''Inhaltsbreite''' angeben.&lt;br /&gt;
&lt;br /&gt;
Das CSS beschränkt sich auf moderne Browser, damit es übersichtlicher und leichter nachzuvollziehen ist. Unter den Punkten '''Alte Browser''' findet man das CSS, welches für Browser bis runter zu IE7 zusätzlich geladen werden muss.&lt;br /&gt;
&lt;br /&gt;
=== Version 1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 55px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 333px;&lt;br /&gt;
  background: linear-gradient(to right, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: -webkit-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(left, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=1);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2 (Text gedreht) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  float: left;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
  min-width: 55px;&lt;br /&gt;
}&lt;br /&gt;
.toggler {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 333px;&lt;br /&gt;
  height: 55px;&lt;br /&gt;
  transform: matrix(0, -1, 1, 0, 0, 333);&lt;br /&gt;
  transform-origin: 0 0;&lt;br /&gt;
}&lt;br /&gt;
  .accordion {&lt;br /&gt;
  margin-left: 55px;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  width: 777px;&lt;br /&gt;
  height: 333px;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  line-height: 55px;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-color: #333;&lt;br /&gt;
}&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: linear-gradient(to bottom, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-family: Arial, 'Trebuchet MS', sans-serif;&lt;br /&gt;
  font-size: 1.125rem;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alte Browser ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... mandatory (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  -webkit-transform: matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -moz-transform:    matrix(0, -1, 1, 0, 0px, 333px);&lt;br /&gt;
  -ms-transform:     matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -o-transform:      matrix(0, -1, 1, 0, 0,   333);&lt;br /&gt;
  -webkit-transform-origin: 0 0;&lt;br /&gt;
  -moz-transform-origin:    0 0;&lt;br /&gt;
  -ms-transform-origin:     0 0;&lt;br /&gt;
  -o-transform-origin:      0 0;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&lt;br /&gt;
  outline: none;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler {&lt;br /&gt;
  margin-left: -55px;&lt;br /&gt;
  noFocusLine: expression(this.onFocus=this.blur());&lt;br /&gt;
}&lt;br /&gt;
.safari .ce_accordion {&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion {&lt;br /&gt;
  position: relativ;&lt;br /&gt;
  min-height: 333px;&lt;br /&gt;
}&lt;br /&gt;
.safari .accordion &amp;gt; div {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
/* ... mandatory (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... recommended (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.accordion &amp;gt; div {&lt;br /&gt;
  -webkit-box-sizing: border-box;&lt;br /&gt;
  -moz-box-sizing:    border-box;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .accordion &amp;gt; div {&lt;br /&gt;
  width: 737px; /* width (777) - 2 x padding (40) */&lt;br /&gt;
  height: 293px; /* height (333) - 2 x padding (40) */&lt;br /&gt;
}&lt;br /&gt;
/* ... recommended (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ... custom (rotate) ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  background: #333;&lt;br /&gt;
  background: -webkit-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:    -moz-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:      -o-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  background:     -ms-linear-gradient(top, #222 1%, #666 25%, #111 100%);&lt;br /&gt;
  font-size: 1.125em;&lt;br /&gt;
}&lt;br /&gt;
.ie7 .toggler,&lt;br /&gt;
.ie8 .toggler {&lt;br /&gt;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)&lt;br /&gt;
          progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000', GradientType=0);&lt;br /&gt;
}&lt;br /&gt;
/* ... custom (rotate) ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:35, 7. Dez. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeons_verschachteln_2</id>
		<title>Akkordeons verschachteln 2</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeons_verschachteln_2"/>
				<updated>2013-11-30T06:14:53Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Bild hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.1.5}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Verschachtelte Akkordeons =&lt;br /&gt;
[[Datei:Akkordeons-verschachteln-2.png]]&lt;br /&gt;
== Ziel ==&lt;br /&gt;
Akkordeons innerhalb von Akkordeons darstellen.&lt;br /&gt;
&lt;br /&gt;
== Einschränkung ==&lt;br /&gt;
Bis zu 2 Ebenen. (Weitere Ebenen durch Templateerweiterung möglich.)&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
=== MooTools ===&lt;br /&gt;
Template moo_accordion_nested.html5 oder -.xhtml erstellen und im Layout anstatt moo_accordion auswählen. Funktioniert auch bei nicht verschachtelten Akkordeons.&lt;br /&gt;
=== jQuery ===&lt;br /&gt;
Template j_accordion_nested... Sonst wie bei MooTools.&lt;br /&gt;
&lt;br /&gt;
== Näheres ==&lt;br /&gt;
Für das Akkordeon in der 2. Ebene muss im Template eine neue Instanz (Javascript) erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der erste Block des original Templates (Instantiierung) wurde dubliziert, wobei jeweils in der ersten Zeile die Zielelemente (CSS-Selektoren) verändert wurden, so dass jeweils das äußere bzw. das innere Akkordeon (HTML-Code) angesprochen wird.&lt;br /&gt;
&lt;br /&gt;
=== MooTools ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
&lt;br /&gt;
      // Level 1&lt;br /&gt;
      new Fx.Accordion($$('div.mod_article &amp;gt; .ce_accordion &amp;gt; div.toggler'), $$('div.mod_article &amp;gt; .ce_accordion &amp;gt; div.accordion'), {&lt;br /&gt;
        display: 0,       // first element open on start&lt;br /&gt;
        opacity: false,   // no opacity animation&lt;br /&gt;
        alwaysHide: true, // possibility to close all accordions&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
      // Level 2&lt;br /&gt;
      new Fx.Accordion($$('.ce_accordion .ce_accordion div.toggler'), $$('.ce_accordion .ce_accordion div.accordion'), {&lt;br /&gt;
        display: -1, // no element open on start&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: true,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
      // Accessibility&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== jQuery ===&lt;br /&gt;
{{msgImportant| Das jQuery-Template wurde noch nicht erarbeitet.}}&lt;br /&gt;
&lt;br /&gt;
== Formatierung ==&lt;br /&gt;
Hier ein wenig CSS für den ersten Testlauf.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... Accordion ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 10px;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-image: linear-gradient(to bottom, #fff 0%, #000 50%);&lt;br /&gt;
}&lt;br /&gt;
.accordion .toggler {&lt;br /&gt;
  background-image: linear-gradient(to bottom, #fff 0%, #666 50%);&lt;br /&gt;
}&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
.ce_accordion .ce_accordion {&lt;br /&gt;
  background: #ccc;&lt;br /&gt;
  margin-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
/* ... Accordion ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 07:02, 30. Nov. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Datei:Akkordeons-verschachteln-2.png</id>
		<title>Datei:Akkordeons-verschachteln-2.png</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Datei:Akkordeons-verschachteln-2.png"/>
				<updated>2013-11-30T06:13:05Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Akkordeons_verschachteln_2</id>
		<title>Akkordeons verschachteln 2</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Akkordeons_verschachteln_2"/>
				<updated>2013-11-30T06:02:00Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: Die Seite wurde neu angelegt: „{{AppliesTo |Version=3.1.5}} Category:Admin HOWTOS  = Verschachtelte Akkordeons =  == Ziel == Akkordeons innerhalb von Akkordeons darstellen.  == Einschränku…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=3.1.5}}&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
&lt;br /&gt;
= Verschachtelte Akkordeons =&lt;br /&gt;
&lt;br /&gt;
== Ziel ==&lt;br /&gt;
Akkordeons innerhalb von Akkordeons darstellen.&lt;br /&gt;
&lt;br /&gt;
== Einschränkung ==&lt;br /&gt;
Bis zu 2 Ebenen. (Weitere Ebenen durch Templateerweiterung möglich.)&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
=== MooTools ===&lt;br /&gt;
Template moo_accordion_nested.html5 oder -.xhtml erstellen und im Layout anstatt moo_accordion auswählen. Funktioniert auch bei nicht verschachtelten Akkordeons.&lt;br /&gt;
=== jQuery ===&lt;br /&gt;
Template j_accordion_nested... Sonst wie bei MooTools.&lt;br /&gt;
&lt;br /&gt;
== Näheres ==&lt;br /&gt;
Für das Akkordeon in der 2. Ebene muss im Template eine neue Instanz (Javascript) erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
== Das Template ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der erste Block des original Templates (Instantiierung) wurde dubliziert, wobei jeweils in der ersten Zeile die Zielelemente (CSS-Selektoren) verändert wurden, so dass jeweils das äußere bzw. das innere Akkordeon (HTML-Code) angesprochen wird.&lt;br /&gt;
&lt;br /&gt;
=== MooTools ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function($) {&lt;br /&gt;
    window.addEvent('domready', function() {&lt;br /&gt;
&lt;br /&gt;
      // Level 1&lt;br /&gt;
      new Fx.Accordion($$('div.mod_article &amp;gt; .ce_accordion &amp;gt; div.toggler'), $$('div.mod_article &amp;gt; .ce_accordion &amp;gt; div.accordion'), {&lt;br /&gt;
        display: 0,       // first element open on start&lt;br /&gt;
        opacity: false,   // no opacity animation&lt;br /&gt;
        alwaysHide: true, // possibility to close all accordions&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
      // Level 2&lt;br /&gt;
      new Fx.Accordion($$('.ce_accordion .ce_accordion div.toggler'), $$('.ce_accordion .ce_accordion div.accordion'), {&lt;br /&gt;
        display: -1, // no element open on start&lt;br /&gt;
        opacity: false,&lt;br /&gt;
        alwaysHide: true,&lt;br /&gt;
        onActive: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'false');&lt;br /&gt;
          tog.addClass('active');&lt;br /&gt;
          tog.getNext('div').fade('in');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'true');&lt;br /&gt;
          return false;&lt;br /&gt;
        },&lt;br /&gt;
        onBackground: function(tog, el) {&lt;br /&gt;
          el.setProperty('aria-hidden', 'true');&lt;br /&gt;
          tog.removeClass('active');&lt;br /&gt;
          tog.getNext('div').fade('out');&lt;br /&gt;
          tog.setProperty('aria-expanded', 'false');&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
      // Accessibility&lt;br /&gt;
      $$('div.toggler').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tab');&lt;br /&gt;
        el.setProperty('tabindex', 0);&lt;br /&gt;
        el.addEvents({&lt;br /&gt;
          'keypress': function(event) {&lt;br /&gt;
            if (event.code == 13) {&lt;br /&gt;
              this.fireEvent('click');&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'focus': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'blur': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseenter': function() {&lt;br /&gt;
            this.addClass('hover');&lt;br /&gt;
          },&lt;br /&gt;
          'mouseleave': function() {&lt;br /&gt;
            this.removeClass('hover');&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.ce_accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tablist');&lt;br /&gt;
      });&lt;br /&gt;
      $$('div.accordion').each(function(el) {&lt;br /&gt;
        el.setProperty('role', 'tabpanel');&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
    });&lt;br /&gt;
  })(document.id);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== jQuery ===&lt;br /&gt;
{{msgImportant| Das jQuery-Template wurde noch nicht erarbeitet.}}&lt;br /&gt;
&lt;br /&gt;
== Formatierung ==&lt;br /&gt;
Hier ein wenig CSS für den ersten Testlauf.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
/* ... Accordion ...&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
.toggler {&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 10px;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  background-image: linear-gradient(to bottom, #fff 0%, #000 50%);&lt;br /&gt;
}&lt;br /&gt;
.accordion .toggler {&lt;br /&gt;
  background-image: linear-gradient(to bottom, #fff 0%, #666 50%);&lt;br /&gt;
}&lt;br /&gt;
.ce_accordion {&lt;br /&gt;
  background: #eee;&lt;br /&gt;
}&lt;br /&gt;
.ce_accordion .ce_accordion {&lt;br /&gt;
  background: #ccc;&lt;br /&gt;
  margin-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
/* ... Accordion ... END&lt;br /&gt;
-------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 07:02, 30. Nov. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild</id>
		<title>Galerie mit nur einem Vorschaubild</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild"/>
				<updated>2013-11-23T00:09:34Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:Anwender und Redakteure]]&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen&lt;br /&gt;
}}&lt;br /&gt;
{{msgWarning|&lt;br /&gt;
Obwohl für '''Alle Versionen''' angegeben, kann eine leichte Anpassung bei älteren Versionen als Contao 3.2.0 notwendig sein.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Galerie mit nur einem Vorschaubild=&lt;br /&gt;
&lt;br /&gt;
==Ziel==&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis erhält man im FE eine Galerie, welche das erste Bild als Vorschaubild präsentiert. Bei aktiviertem Javascript wird das große Bild bei Mausklick in einer ''Lightbox'' geöffnet. In der ''Lightbox'' kann man nun durch alle Bilder der Galerie blättern.&lt;br /&gt;
&lt;br /&gt;
==Umsetzung==&lt;br /&gt;
&lt;br /&gt;
Die Umsetzung erfolg mittels einer einfachen Erstellung, Umbenennung und Anpassung des Templates gallery_default.html5.&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
&lt;br /&gt;
Hier ist das Template gallery_single_image.html5. Bei einer XHTML-Ausgabe muss das Tag '''figure''' durch '''div''' ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @filename gallery_single_image.html5&lt;br /&gt;
 * @version Contao 3.2.0&lt;br /&gt;
 * @license LGPL&lt;br /&gt;
 * @description A gallery template that only loads the first thumb but shows all pics in mediabox or colorbox.&lt;br /&gt;
                Check 'Full-size view/new window' in your gallery.&lt;br /&gt;
                Don't forget to load moo_mediabox or j_colorbox in your layout.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;gallery-single-image&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $i = 1; foreach ($this-&amp;gt;body as $class=&amp;gt;$row): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php foreach ($row as $col): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;addImage): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;figure class=&amp;quot;image_container&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;href): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $col-&amp;gt;href; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;attributes; ?&amp;gt; title=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php if ($i == 1): ?&amp;gt;&amp;lt;img src=&amp;quot;&amp;lt;?php echo $col-&amp;gt;src; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;imgSize; ?&amp;gt; alt=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php $i++; endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[en:Gallery with just one thumb]]&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:01, 23. Nov. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild</id>
		<title>Galerie mit nur einem Vorschaubild</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild"/>
				<updated>2013-11-23T00:06:10Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Template */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOs]]&lt;br /&gt;
[[Category:Anwender und Redakteure]]&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen&lt;br /&gt;
}}&lt;br /&gt;
{{msgWarning|&lt;br /&gt;
Obwohl für '''Alle Versionen''' angegeben, kann eine leichte Anpassung bei älteren Versionen als Contao 3.2.0 notwendig sein.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Galerie mit nur einem Vorschaubild=&lt;br /&gt;
&lt;br /&gt;
==Ziel==&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis erhält man im FE eine Galerie, welche das erste Bild als Vorschaubild präsentiert. Bei aktiviertem Javascript wird das große Bild bei Mausklick in einer ''Lightbox'' geöffnet. In der ''Lightbox'' kann man nun durch alle Bilder der Galerie blättern.&lt;br /&gt;
&lt;br /&gt;
==Umsetzung==&lt;br /&gt;
&lt;br /&gt;
Die Umsetzung erfolg mittels einer einfachen Erstellung, Umbenennung und Anpassung des Templates gallery_default.html5.&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
&lt;br /&gt;
Hier ist das Template gallery_single_image.html5. Bei einer XHTML-Ausgabe muss das Tag '''figure''' durch '''div''' ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @filename gallery_single_image.html5&lt;br /&gt;
 * @version Contao 3.2.0&lt;br /&gt;
 * @license LGPL&lt;br /&gt;
 * @description A gallery template that only loads the first thumb but shows all pics in mediabox or colorbox.&lt;br /&gt;
                Check 'Full-size view/new window' in your gallery.&lt;br /&gt;
                Don't forget to load moo_mediabox or j_colorbox in your layout.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;gallery-single-image&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $i = 1; foreach ($this-&amp;gt;body as $class=&amp;gt;$row): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php foreach ($row as $col): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;addImage): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;figure class=&amp;quot;image_container&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;href): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $col-&amp;gt;href; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;attributes; ?&amp;gt; title=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php if ($i == 1): ?&amp;gt;&amp;lt;img src=&amp;quot;&amp;lt;?php echo $col-&amp;gt;src; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;imgSize; ?&amp;gt; alt=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php $i++; endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[en:Gallery with just one thumb]]&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:01, 23. Nov. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild</id>
		<title>Galerie mit nur einem Vorschaubild</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild"/>
				<updated>2013-11-23T00:05:31Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: /* Ziel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOs]]&lt;br /&gt;
[[Category:Anwender und Redakteure]]&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen&lt;br /&gt;
}}&lt;br /&gt;
{{msgWarning|&lt;br /&gt;
Obwohl für '''Alle Versionen''' angegeben, kann eine leichte Anpassung bei älteren Versionen als Contao 3.2.0 notwendig sein.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Galerie mit nur einem Vorschaubild=&lt;br /&gt;
&lt;br /&gt;
==Ziel==&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis erhält man im FE eine Galerie, welche das erste Bild als Vorschaubild präsentiert. Bei aktiviertem Javascript wird das große Bild bei Mausklick in einer ''Lightbox'' geöffnet. In der ''Lightbox'' kann man nun durch alle Bilder der Galerie blättern.&lt;br /&gt;
&lt;br /&gt;
==Umsetzung==&lt;br /&gt;
&lt;br /&gt;
Die Umsetzung erfolg mittels einer einfachen Erstellung, Umbenennung und Anpassung des Templates gallery_default.html5.&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
&lt;br /&gt;
Hier ist das Template gallery_single_image.html5. Bei einer XHTML-Ausgabe muss das Tag '''figure''' durch '''div''' ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @filename gallery_single_image&lt;br /&gt;
 * @version Contao 3.2.0&lt;br /&gt;
 * @license LGPL&lt;br /&gt;
 * @description A gallery template that only loads the first thumb but shows all pics in mediabox or colorbox.&lt;br /&gt;
                Check 'Full-size view/new window' in your gallery.&lt;br /&gt;
                Don't forget to load moo_mediabox or j_colorbox in your layout.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;gallery-single-image&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $i = 1; foreach ($this-&amp;gt;body as $class=&amp;gt;$row): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php foreach ($row as $col): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;addImage): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;figure class=&amp;quot;image_container&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;href): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $col-&amp;gt;href; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;attributes; ?&amp;gt; title=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php if ($i == 1): ?&amp;gt;&amp;lt;img src=&amp;quot;&amp;lt;?php echo $col-&amp;gt;src; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;imgSize; ?&amp;gt; alt=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php $i++; endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[en:Gallery with just one thumb]]&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:01, 23. Nov. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild</id>
		<title>Galerie mit nur einem Vorschaubild</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild"/>
				<updated>2013-11-23T00:01:22Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOs]]&lt;br /&gt;
[[Category:Anwender und Redakteure]]&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen&lt;br /&gt;
}}&lt;br /&gt;
{{msgWarning|&lt;br /&gt;
Obwohl für '''Alle Versionen''' angegeben, kann eine leichte Anpassung bei älteren Versionen als Contao 3.2.0 notwendig sein.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Galerie mit nur einem Vorschaubild=&lt;br /&gt;
&lt;br /&gt;
==Ziel==&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis erhält man im FE eine Galerie, welche das erste Bild als Vorschaubild präsentiert. Bei aktiviertem Javascript wird das Bild in einer ''Lightbox'' geöffnet. In der ''Lightbox'' kann man nun durch alle Bilder der Galerie blättern.&lt;br /&gt;
&lt;br /&gt;
==Umsetzung==&lt;br /&gt;
&lt;br /&gt;
Die Umsetzung erfolg mittels einer einfachen Erstellung, Umbenennung und Anpassung des Templates gallery_default.html5.&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
&lt;br /&gt;
Hier ist das Template gallery_single_image.html5. Bei einer XHTML-Ausgabe muss das Tag '''figure''' durch '''div''' ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @filename gallery_single_image&lt;br /&gt;
 * @version Contao 3.2.0&lt;br /&gt;
 * @license LGPL&lt;br /&gt;
 * @description A gallery template that only loads the first thumb but shows all pics in mediabox or colorbox.&lt;br /&gt;
                Check 'Full-size view/new window' in your gallery.&lt;br /&gt;
                Don't forget to load moo_mediabox or j_colorbox in your layout.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;gallery-single-image&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $i = 1; foreach ($this-&amp;gt;body as $class=&amp;gt;$row): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php foreach ($row as $col): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;addImage): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;figure class=&amp;quot;image_container&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;href): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $col-&amp;gt;href; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;attributes; ?&amp;gt; title=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php if ($i == 1): ?&amp;gt;&amp;lt;img src=&amp;quot;&amp;lt;?php echo $col-&amp;gt;src; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;imgSize; ?&amp;gt; alt=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php $i++; endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[en:Gallery with just one thumb]]&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:01, 23. Nov. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild</id>
		<title>Galerie mit nur einem Vorschaubild</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild"/>
				<updated>2013-11-23T00:00:22Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOs]]&lt;br /&gt;
[[Category:Anwender und Redakteure]]&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen&lt;br /&gt;
}}&lt;br /&gt;
{{msgWarning|&lt;br /&gt;
Obwohl für '''Alle Versionen''' angegeben, kann eine leichte Anpassung bei älteren Versionen als Contao 3.2.0 notwendig sein.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Galerie mit nur einem Vorschaubild=&lt;br /&gt;
&lt;br /&gt;
==Ziel==&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis erhält man im FE eine Galerie, welche das erste Bild als Vorschaubild präsentiert. Bei aktiviertem Javascript wird das Bild in einer ''Lightbox'' geöffnet. In der ''Lightbox'' kann man nun durch alle Bilder der Galerie blättern.&lt;br /&gt;
&lt;br /&gt;
==Umsetzung==&lt;br /&gt;
&lt;br /&gt;
Die Umsetzung erfolg mittels einer einfachen Erstellung, Umbenennung und Anpassung des Templates gallery_default.html5.&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
&lt;br /&gt;
Hier ist das Template gallery_single_image.html5. Bei einer XHTML-Ausgabe muss das Tag '''figure''' durch '''div''' ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @filename gallery_single_image&lt;br /&gt;
 * @version Contao 3.2.0&lt;br /&gt;
 * @license LGPL&lt;br /&gt;
 * @description A gallery template that only loads the first thumb but shows all pics in mediabox or colorbox.&lt;br /&gt;
                Check 'Full-size view/new window' in your gallery.&lt;br /&gt;
                Don't forget to load moo_mediabox or j_colorbox in your layout.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;gallery-single-image&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $i = 1; foreach ($this-&amp;gt;body as $class=&amp;gt;$row): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php foreach ($row as $col): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;addImage): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;figure class=&amp;quot;image_container&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;href): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $col-&amp;gt;href; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;attributes; ?&amp;gt; title=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php if ($i == 1): ?&amp;gt;&amp;lt;img src=&amp;quot;&amp;lt;?php echo $col-&amp;gt;src; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;imgSize; ?&amp;gt; alt=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php $i++; endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[en:gallery with just one thumb]]&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 01:00, 23. Nov. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild</id>
		<title>Galerie mit nur einem Vorschaubild</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Galerie_mit_nur_einem_Vorschaubild"/>
				<updated>2013-11-22T23:43:05Z</updated>
		
		<summary type="html">&lt;p&gt;Andreas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOs]]&lt;br /&gt;
[[Category:Anwender und Redakteure]]&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen&lt;br /&gt;
}}&lt;br /&gt;
{{msgWarning|&lt;br /&gt;
Obwohl für '''Alle Versionen''' angegeben, kann eine leichte Anpassung bei älteren Versionen als Contao 3.2.0 notwendig sein.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Galerie mit nur einem Vorschaubild=&lt;br /&gt;
&lt;br /&gt;
==Ziel==&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis erhält man im FE eine Galerie, welche das erste Bild als Vorschaubild präsentiert. Bei aktiviertem Javascript wird das Bild in einer ''Lightbox'' geöffnet. In der ''Lightbox'' kann man nun durch alle Bilder der Galerie blättern.&lt;br /&gt;
&lt;br /&gt;
==Umsetzung==&lt;br /&gt;
&lt;br /&gt;
Die Umsetzung erfolg mittels einer einfachen Erstellung, Umbenennung und Anpassung des Templates gallery_default.html5.&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
&lt;br /&gt;
Hier ist das Template gallery_single_image.html5. Bei einer XHTML-Ausgabe muss das Tag '''figure''' durch '''div''' ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @filename gallery_single_image&lt;br /&gt;
 * @version Contao 3.2.0&lt;br /&gt;
 * @license LGPL&lt;br /&gt;
 * @description A gallery template that only loads the first thumb but shows all pics in mediabox or colorbox.&lt;br /&gt;
                Check 'Full-size view/new window' in your gallery.&lt;br /&gt;
                Don't forget to load moo_mediabox or j_colorbox in your layout.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;gallery-single-image&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $i = 1; foreach ($this-&amp;gt;body as $class=&amp;gt;$row): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php foreach ($row as $col): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;addImage): ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;figure class=&amp;quot;image_container&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($col-&amp;gt;href): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $col-&amp;gt;href; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;attributes; ?&amp;gt; title=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php if ($i == 1): ?&amp;gt;&amp;lt;img src=&amp;quot;&amp;lt;?php echo $col-&amp;gt;src; ?&amp;gt;&amp;quot;&amp;lt;?php echo $col-&amp;gt;imgSize; ?&amp;gt; alt=&amp;quot;&amp;lt;?php echo $col-&amp;gt;alt; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($i == 1): ?&amp;gt;&lt;br /&gt;
&amp;lt;/figure&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php $i++; endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] 00:32, 23. Nov. 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Andreas</name></author>	</entry>

	</feed>