acDIVs 1.2 for CMSimple

© 2008-2011 Holger Irmler, http://CMSimple.HolgerIrmler.de.

Der Name des Plugins steht für "Animated Collapsible DIVs" und genau das ermöglicht dieses kleine
CMSimple Plugin auch:
acDIVs kann Inhalte, einer oder mehrerer  Unterseiten, dynamisch in DIV-Blöcke zerlegen, die dann vom Besucher der Seite per Mausklick  ein- bzw. ausgeklappt werden können.

Voraussetzungen

Installation

  1. Machen sie zuerst ein Backup bevor sie ein neues Plugin installieren.
  2. Das ZIP-Archiv entpacken und den Ordner "acdivs" in den Ordner "plugins" auf dem Server kopieren.

    So sollte die Struktur auf dem Server aussehen:

    • [Root]
      • [(2lang)]
      • [cmsimple]
      • ...
      • [plugins]
        • ...
        • [pluginloader]
        • [acdivs]
          • [config]
          • [help]
          • [languages]
          • admin.php
          • index.php
        • index.php
      • [...]
      • index.php
  3. Die Datei /plugins/acdivs/config/config.php muss für PHP beschreibbar sein.

    (Um die Sprachdateien online ändern zu können, müssen auch die Dateien im Ordner /plugins/acdivs/languages für PHP beschreibbar sein)

  4. Die Installation ist damit vollständig!

Benutzung

Basics

Das Plugin muss mit CMSimple-Scripting in einer Seite aktiviert werden:

#CMSimple $output.=acdivs('Contentpage');#

wobei 'Contentpage' die Überschrift einer Unterseite mit den Inhalten für die DIV-Container ist.
Natürlich kann der Name (d.h. die Überschrift) der Seite auch anders lauten. Sie muss aber immer eine direkte Unterseite von der Seite sein, auf der das Plugin eingebaut werden soll.

Um Kategorien zu bilden, kann man auch mit mehreren Unterseiten arbeiten. Diese werden dem Pluginaufruf, getrennt durch ein "|" hinzugefügt:

#CMSimple $output.=acdivs('Contentpage_1|Contentpage_2');#
(Achtung: bitte keine Leerzeichen in den Parametern zwischen den Klammern!)

Wenn die Überschrift einer Inhaltsseite Leerzeichen enthält, müssen diese durch Unterstriche "_" ersetzt werden. Der einfachste Weg, einen Seitennamen richtig einzubauen, ist die Seite im Browser aufzurufen und den Teil mit der Unterseite aus der Adressleiste zu kopieren. Auf diese Weise werden auch gleich eventuell vorhandene Sonderzeichen richtig übernommen.

Die Struktur der CMSimple-Seiten könnte beispielsweise so aussehen:

<h1>My acDIVs Page</h1> ...

Natürlich sollte "Contentpage 1" und "Contentpage 2" mittels #CMSimpl hide# am Anfang der Seite in der Navigation versteckt werden. Natürlich funktioniert das auch unter CMSimple_XH mit dem Tab "Seite".

Nun müssen auf den Inhaltsseiten die jeweiligen Texte eingegeben und formatiert werden:
normalerweise nutzt das Plugin <h4> Überschriften um den Text <div> - Blöcke zu splitten. In der Konfiguration lässt sich aber auch eine andere Überschrift <hx> definieren:

<h2>Contentpage 1</h2>
#CMSimple hide#

<h4>First heading</h4>
This is the collapsible content below the first heading.......

<h4>Second heading</h4>
This is the collapsible content below the second heading......
....


<h2>Contentpage 2</h2>
#CMSimple hide#

<h4>First heading of page 2</h4>
This is the collapsible content below the first heading.......

<h4>Second heading of page 2</h4>
This is the collapsible content below the second heading......
....

Abhängig von ein paar weiteren Konfigurationsparametern, wird bei einer Struktur der Inhaltsseiten wie oben, folgende Ausgabe

Contentpage 1
First heading
Second heading
....

Contentpage 2
First heading of page 2
Second heading of page 2
....

vom Plugin erzeugt.

Mit einem Klick auf einen Link wird der dazu gehörende <div> - Block eingeblendet und der Text von der Inhaltsseite bis zur nächsten Überschrift (oder zum Seitenende) wird sichtbar.

Anker und IDs

Zur besseren Usability fügt das Plugin Anker zu jeder erzeugten Überschrift hinzu:
um eine Link zur ersten Überschrift "Contentpage 1" zu erstellen, ist folgende html-Syntax notwendig
<a href="#acH1">test</a>
wobei "ac" als Plugin-Präfix, "H" als "heading" und "1" als laufende Nummer der Überschrift gedacht ist.
Ein Link zur zweiten Überschrift "Contentpage 2" wäre dann mit
<a href="#acH1">test</a>
und so weiter realisierbar. Man kann Links zu den Ankern in der Seite, für z.B. ein Inhaltsverzeichnis, verwenden. Oder alternativ als Anhang an die Url zur Seite, um beim Aufruf an eine bestimmte Stelle zu springen.

Jeder DIV-Block kann auch über eine eigene ID angesprochen werden:
im Beispiel von oben, der Link "First heading" bekommt die ID "acDIV1", "Second heading" bekommt "acDIV2", ... und "Second heading of page 2" dann "acDIV4".
Man kann diese ID zum öffnen von DIVs per URL nutzen:
<a href="seitenname?unterseite&expanddiv=acDIV3">Mein Link</a>
lädt die Seite mit dem dritten div "First heading of page 2" sichtbar.

Natürlich kann man die Anker und den &expanddiv-Parameter in Links kombinieren:
<a href="seitenname?unterseite&expanddiv=acDIV3#acH2">My Link</a>

In-page Konfiguration

Normalerweise werden alle Parameter im Admin-Backend des Plugins eingestellt. 
Trotzdem ist es möglich, einen Parameter beim Aufruf des Plugins in der Seite individuell einzustellen:
#CMSimple $output.=acdivs('Contentpage,0');#
versteckt die Überschriften (Kategorien) aus den Unterseiten und
#CMSimple $output.=acdivs('Contentpage,1');#
zeigt diese Überschriften in der Ausgabe des Plugins an - unabhängig von der global geltenden Einstellung in der Konfiguration.

Konfiguration

Das Plugin kann mit ein paar Parametern an die eigenen Erfordernisse angepasst werden:
  1. "close link": Mit "1" wird ein Link "Schließen" unter jedem <div> - Block angezeigt.
    Standard-Einstellung: 0
  2. "fade": Mit 0 wird der Fade-Effekt ausgeschaltet. Zum Anschalten 1 wählen. Standard-Einstellung: 1
  3. "header": Die <hx> -Überschrift, die zum Splitten der Inhalte verwendet wird. 
    Standard-Einstellung: h4
  4. "height": Ein Ganzzahlen-Wert ohne "px" um eine feste Höhe der erzeugten DIVs zu erzwingen. Normalerweise bleibt dieses Feld leer und die erzeugten DIVs folgen dem Platzbedarf ihres Inhaltes. Standard-Einstellung: leer
  5. "hide": Mit 0 wird immer der erste DIV-Block geöffnet angezeigt, wenn die Seite geladen wird. Mit 1 bleibt er versteckt. Standard-Einstellung: 1
  6. "persist": Mit 1 wird der Zustand der DIVs innerhalb der Browser-Sitzung in einem Cookie gespeichert. 0 schaltet dieses Feature ab. Standard-Einstellung: 0
  7. "show header": Mit 1 wird die Überschrift der Inhaltsseite(n) über den DIVs angezeigt, 0 unterdrückt die Ausgabe. Standard-Einstellung: 1
  8. "speed": Ein ganzzahliger Wert in Millisekunden als Dauer des Slide-Effektes (z.B.: 1000=1 Sekunde). Standard-Einstellung: 600
  9. "style": Hier kann man den erzeugten DIV-Blöcken eine Inline-Style-Definition zuweisen.
    Standard-Einstellung: margin: 10px 10px 10px 0;padding: 5px;

Credits

Lizenz

Nutzungsbedingungen:

Dieses Plugin darf kostenlos unter Linkware License nur auf privaten Webseiten und Webseiten von gemeinnützigen Vereinen und Schulen verwendet werden.
Der Link "made with acDIVs .." zu http://cmsimple.holgerirmler.de muss sichtbar und gut lesbar in der Browserausgabe enthalten bleiben.

Auf privaten Seiten ist eine Nutzung auch mit ausgeblendetem Link möglich. Dazu muss, gegen eine geringe Gebühr, eine Remove Link License erworben werden.
Kontaktieren sie mich über meine Seite http://cmsimple.holgerirmler.de um eine Lizenz zu erwerben.

Beim Einsatz auf kommerziellen Seiten muss eine Commercial License erworben werden. Gleiches gilt wenn das Plugin als Teil einer bezahlten Dienstleistung verwendet wird (unabhängig von der Art der erstellten Seite).
Eine Seite, auf der bezahlte Werbung eingeblendet wird, gilt als kommerzielle Seite.
Natürlich darf beim Kauf einer Commercial License der Backlink entfernt werden.
Kontaktieren sie mich über meine Seite http://cmsimple.holgerirmler.de um eine Lizenz zu erwerben.

Ohne meine Erlaubnis
- ist es nicht erlaubt das Plugin zu verbreiten
- ist es nicht erlaubt veränderte Versionen des Plugins zu verbreiten

Auch wenn Sie diese Plugin kostenos einsetzen dürfen
ist eine kleine Spende per PayPal immer willkommen.

Hilfe?

... gibt's unter cmsimpleforum.com.


 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED 
IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.