Module
„Das Salz in der Suppe”
Wann immer eine dynamische Ausgabe auf der Webseite erfolgt, ist dafür ein Modul verantwortlich. Dies sind die grundlegenden Module:
- Navigation
- Artikelliste
- Bild
- Link
- Template
Module werden im Dateisystem abgelegt. Durch den Einsatz von Zend können Module an beliebiger Stelle gespeichert werden. Vorbelegt sind die folgenden Standard-Verzeichnisse:
Bis Version 2.0
- Lokal aitsu / library / Local / Module
- Community aitsu / library / Comm / Module
- Default aitsu / library / Aitsu / Ee / Module
Ab Version 2.1
- Skin aitsu / application / skins / ihr_skin_name / module
- Lokal aitsu / library / Local / Module
- Community aitsu / library / Comm / Module
- Applikation aitsu / application / modules
- Default aitsu / library / Aitsu / Ee / Module
aitsu überprüft die Modul-Verzeichnisse in vorgegebenen Reihenfolge. Ein Image-Modul im Skin-Verzeichnis hat stets Vorrang gegenüber Image-Modulen aus anderen Verzeichnissen.
Module und Modul-Templates
Ein Modul besteht in der Regel aus zwei Teilen. Einer Klasse /ModulName/Class.php und dessen (Modul-)Template /ModulName/index.phtml.
Die Besonderheit hierbei ist, dass das Template nicht an der selben Stelle liegen muss, wie die Klasse. Auch hier gilt: Ein Modul-Template im Skins-Ordner hat stets Vorrang gegenüber den Modul-Templates aus anderen Verzeichnissen.
Modul-Templates für Skins
Benötigen ihr Skin eine angepasste Navigation, z.B. anstelle einer Navigation als unsortieren Liste <ul> eine Navigation als sortierte Liste <ol>, legen Sie einfach eine Kopie der entsprechenden Template-Datei /ModulName/index.phtml im Modul-Ordner des Skins an. aitsu berücksichtigt Ihre persönliche Template-Datei im Skin-Ordner anstelle der Template-Datei im Default-Ordner.
Modul-Aufruf
Module können auf zweierlei Art und Weise aufgerufen werden. Entweder über den einfachen Shortcode oder über den Skript-Block. Module können in Skins, Modul-Templates und im Fließtext aufgerufen werden.
Shortcode
Shortcodes werden mit einem Unterstrich und einer öffnenden, eckigen Klammer eingeleitet und mit einer schließenden, eckigen Klammer abgeschlossen.
_[ModuleName:Index]
Skript-Block
Skript-Blöcke sind in ihrer Schreibweise komplexer, bieten dafür aber die Möglichkeit, Parameter zu übergeben.
<script_ type="application/x-aitsu" src="ModulName:Index"> key1 = value key2 = value </_script>
Innerhalb des Moduls können Sie wie folgt auf diese Parameter zugreifen:
<?php $params = Aitsu_Util :: parseSimpleIni($context['params']); $key1 = $params->key1; $key2 = $params->key2; ?>
In beiden Varianten wird vor dem Doppelpunkt der Name des Moduls angegeben und hinter dem Doppelpunkt ein eindeutiger Bezeichner vergeben. Die Eindeutigkeit ist dabei auf den Artikel bezogen. Verwenden Sie den eindeutigen Bezeichner innerhalb des selben Artikels ein weiteres Mal, können Sie auch dort auf die Werte der Modulkonfiguration zugreifen. Lesen Sie mehr über aitsu CMS-Module »
Das Test-Modul „Config”
Nachfolgend ein Test-Modul mit möglichen Konfigurationen und den daraus resultierenden Ausgaben.
$this->copy
'Das ist ein HTML-Text.
'
$this->images
array (
0 =>
stdClass::__set_state(array(
'mediaid' => '10',
'idart' => '274',
'filename' => '0.gif',
'size' => '43',
'extension' => 'gif',
'name' => NULL,
'subline' => NULL,
'description' => NULL,
)),
)
$this->contentConfig
array (
'radio' => 'value1',
'checkbox' =>
array (
1 => 'value1',
2 => 'value2',
),
'timeStart' => '2011-01-01 00:00:00',
'timeEnd' => '2011-12-31 00:00:00',
'text1' => 'Text1',
'text2' => 'Text2',
'combo' => 'value9',
'link' => 'idcat 1',
)
$this->environment
Aitsu_Registry_Entry::__set_state(array(
'registry' =>
array (
'front' => true,
'idart' => '274',
'idcat' => '34',
'idlang' => '1',
'idartlang' => '493',
'idclient' => '1',
'ispublic' => '1',
'locale' =>
Zend_Locale::__set_state(array(
'_locale' => 'de_CH',
)),
'editAction' =>
Aitsu_Registry_Entry::__set_state(array(
'registry' =>
array (
),
)),
),
))