--- Plugin-Demonstration ---
Expandcontract_XH ermöglicht die Anzeige anderer CMSimple_XH-Seiten innerhalb einer Seite. Die Anzeige kann aufgeklappt (expandiert) und wieder geschlossen (kontrahiert) werden. Ist im Browser JavaScript nicht verfügbar, dann wirken die Links wie normale Links.
Das Plugin wurde ursprünglich von Frank Ziesing (svasti) entwickelt. Seit 2022 kümmert sich die CMSimple_XH-Community (Forum) um die Weiterentwicklung des Plugins.
Neu: Das Plugin wird mit einer Standard-CSS-Datei ausgeliefert (stylesheet.css), die nur Basis-Styles für die Funktionalität des Plugins enthält. Diese Datei wird benötigt und muss/sollte nicht verändert werden. Wird nur diese Datei verwendet, werden alle Elemente, die das Plugin zur Anzeige bringt, ausschließlich über das allgemeine Template gesteuert (Beispiel siehe hier).
In der Plugin-Konfiguration kann eine weitere beliebige CSS-Datei ausgewählt werden, mit deren Hilfe das Aussehen aller Expandcontract-Elemente individuell beeinflusst werden kann. Diese individuelle Datei muss im CSS-Ordner des Plugins vorhanden sein. Im Plugin-Download befinden sich einige solcher Beispiel-CSS-Dateien. Mit etwas Glück findet sich darunter eine, die zur aktuellen Website passt.
Einfacher Plugin-Aufruf:
{{{expand}}}
Mit diesem Plugin-Aufruf werden alle verborgenen Unterseiten der aufrufenden Seite angezeigt. Alle Einstellungen werden aus der Plugin-Konfiguration übernommen.
Plugin-Aufruf mit Parametern:
{{{expand 'Option1 = Wert,Wert,Wert','Option2 = Wert', ... ,'Option8 = Wert'}}}
Bei einem Plugin-Aufruf mit Parametern, können die Standard-Einstellungen der Plugin-Konfiguration überschrieben werden. Die Parameter können in beliebiger Reihenfolge, getrennt durch Komma, aber immer in 'einfachen Anführungszeichen' übergeben werden. Alle Parameter sind optional – können also auch weggelassen werden.
Die einzelnen Parameter bestehen immer aus einem Bezeichner (Option) plus einem Gleichheitszeichen (=) plus einem Wert oder mehreren Werten. Bei mehreren Werten müssen diese ebenfalls durch Komma getrennt werden. Das klingt recht kompliziert, ist es aber gar nicht. Nur Tippfehler schleichen sich schnell ein.
'pages = Seite 1'
für eine einzelne Seite'pages = Seite 1, Seite 2, Seite 3'
für mehrere Seiten\,
maskiert werden!'pages = Seite\, mit Komma'
für „Seite, mit Komma“'headlines = Text 1'
für eine einzelne Seite
'headlines = Text 1, Text 2, Text 3'
für mehrere Seiten\,
maskiert werden!'headlines = Seite\, mit Komma'
für „Seite, mit Komma“'show-close = on'
zeigt den Button an'show-close = off'
blendet ihn aus'max-height = 0'
keine Höhenbegrenzung'max-height = 10em'
die Höhe wird auf 10em begrenzt'max-heigth = 300px'
die Höhe wird auf 300px begrenzt'show-inline = on'
die Link-Buttons werden nebeneinander angezeigt'show-inline = off'
die Expand-Links werden untereinander angezeigt'first-open = on'
erster vorgefundener Aufklapp-Bereich wird geöffnet'first-open = off'
alles ist geschlossen'content-padding = 0'
kein Padding'content-padding = 2em'
Randabstand 2em'content-padding = 10px 20px 30px 40px'
'auto-close = on'
wird ein Bereich geöffnet, werden alle anderen automatisch geschlossen'auto-close = off'
es können beliebig viele Bereiche geöffnet werden