Hilfe für das Module "Itemz"

"Itemz" ist ein universelles Modul zum Auflisten, Darstellen und Verwalten von "Dingen" aller Art. Es basiert auf dem Modul "Members" und ist diesem sehr ähnlich. Itemz wird meist von Webdesignern verwendet, die für die Redakteure etwas leicht pflegbar aufbereiten wollen.

Durch die vielen Platzhalter kann Itemz für alles mögliche verwendet werden, zB. um den Code für jQuery-PlugIns bearbeitbar zu machen und sauber auszugeben.

Optionen

Unter Optionen machst du praktisch alle Einstellungen.

Du gibst bei Short1 - 6 und Long1 - 2 die Namen an, die diese Felder haben sollen. Dann gibst du in den Feldern darunter die [Platzhalter] an, wie diese ausgegeben werden sollen.

Dann kannst du unter "Item Hinzufügen" die Einträge erstellen. DIe Feldbescriftung ist genau die, die du angeben hast, die Felder sind in der Reihenfolge, wie du die Platzhalter verwendet hast.

Presets / Get from Section

Unter "Presets" können fertige Einstellungen geladen werden. Presets sind ein guter Einstieg, wenn du die Möglichkeiten von Itemz kennnen lernen willst.
Presets sind kleine Javascripte, die die Feldinhalte ändern - so, als hättest du sie selbst geändert. Wenn du dann weitere Änderungen vornimmst, ist das Preset nicht betroffen, es gilt nur, was du speicherst.

"Get from Section" macht fast das gleiche: Die Einstellungen anderer Sections werden per Javascript in die aktuellen Felder kopiert. Sie gelten erst, wenn du speicherst.
(Optional: Ganz unten: "Open Presets File" zeigt das an, was in der aktuellen Section gespeichert ist. Wenn du das als Datei /modules/itemz/presets/neuername.js speicherst, ist es wieder als Preset verfügbar.)

Platzhalter:

Platzhalter in eckigen Klammern [] geben nur den Feldinhalt aus, bei Links manchmal auch nur href="link". Sinn dahinter ist, dass du dann <a> normal formatieren kannst, nur eben ohne Link darin.
Platzhalter in geschweiften Klammern {} erzeugen eine vollständige Ausgabe: <div class="...">Inhalt</div>, aber nur dann, wenn das Feld auch Inhalt hat. Damit werden leere Divs vermieden.

Nicht jeder Platzhalter kann überall verwendet werden, sondern nur dort, wo er auch Sinn hat.

Meistens hast du die Platzhalter nur in "Item" - also dem Loop, mit dem alle Einträge dargestellt werden.

 

Platzhalter Beispiel, Ausgabe

Gruppe

[GROUP_ID] 23 (Zahl, fest und unveränderlich)
[GROUPNAME] {GROUPNAME}
[GROUPDESC]
{GROUPDESC}

Nur Feldinahlt oder

<div class="mgroup-name">Gruppenname</div>
<div class="mgroup-desc">Beschreibung der Gruppe</div>

 
Eintrag (Item Loop)
[ITEM_ID] 5 (Zahl, fest und unveränderlich)
   
[PICNAME] "bildname.jpg" Der Name des Bildes, wie angegeben
[PICTURE]
 
"http://... verzeichnis/ding.jpg" ODER "http://.modules/'.$mod_dir.'/img/nopic.jpg"
Ausgabe ist von weiteren Faktoren abhängig.
[NAME] Ferdi Dings
[SHORT1] - [SHORT6]
{SHORT1} -{SHORT6}
Kurzer Text, mit [] nur der Feldinhalt, mit {} zB. < div class="item-short1">Feldinhalt</div>
In diesen Feldern wird (Voreinstellung) ein \ zu <br/>
[LONG1] - [LONG2]
{LONG1} - {LONG2}
Längerer Text (Textarea)

 

 

[SCORE]{SCORE} Eine Zahl, nach der auch sortiert werden kann. (Aliase haben einen eigenen Score.)
[LINK] {LINK} Externer Link oder eMail-Adresse, vom Fall abhängig:
Eingabe: http://www.fremdedomain.de Linktext ODER mail@mail.de Linktext
Ausgabe: <a href="http://www.fremdedomain.de/">Linktext<a/>
ODER <a ref=mailto:"mail@mail.de">Linktext</a>
   

[LINK_PAGE_ID]
[LINK_PAGE] {LINK_PAGE}

21 // Page_id der gewählten Seite
href="...url" Nur das href-attribut+[wblinkPAGEID]einer WB-Seite oder
<a id="item-link-page'.$item_id .'" class="item-link-page" href="...."> Titel der Seite</a> //Voller Link + Titel
   
[ITEM_FILE]
{ITEM_FILE}

href="the_file.pdf"
<a href="voller-link-zum-file.pdf" target="_blank">Filename.pdf</a>

[ITEM_FILE_HREF] href="voller-link-zum-file.pdf" ohne sonstiges. Empfohlen, wenn nicht immer ein File angegeben ist.
   
[SORTT] {SORTT} Einige Zeichen, nach denen sortiert werden kann. Das Feld ist wichtig, wenn man Namen listet.
<div class="item-sortt">T180</div>
[MROW]
[MROW12]
1 oder 0 abwechselnd, pro Gruppe
1 -12, pro Gruppe
[ROWCOUNT] 1 (Laufende Nummer pro Gruppe)
   

[WB_URL]
[PAGE_TITLE]
[MENU_TITLE]
[PAGES_DIRECTORY]
[MEDIA_DIRECTORY]
[LANGUAGE]

Entsprechend den WB-Konstanten.

Hinweis: Diese Platzhalter werden auch bei eingeschaltetem Caching ersetzt und können in allen Feldern verwendet werden.

 

 

Header/Footer

   
[LIST_GROUP_LINKS]
[LIST_GROUP_LINKS_FULL]
Nur Header: Eine Liste mit Springmarken zu den einzelnen Einträgen. Die Ziele werden automatisch erzeugt, wenn einer dieser Platzhalter vorhanden ist.
[REVERSESORTING]

Mit dem Parameter "sort" (zb: ?sort=2) kann die Sortier-Reihenfolge der Einträge per URL verändert werden. (1: Position, 2: Name, 3: Sortierzeichen, 4: Score; negative Werte: Umgekehrt)

Beispiel: Sortieren nach: <a href="?sort=1">Position</a> | <a href="?sort=2">Name</a> | <a href="?sort=3">Sorter</a> | <a href="?sort=4">Score</a> | <a class="items-showsortlink[REVERSESORTING]" href="?sort=[REVERSESORTING]">Sortierung umkehren</a>

[REVERSESORTING] stellt den Parameter für die Umkehrung zur Verfügung.
Beispiel: <a class="items-showsortlink[REVERSESORTING]" href="?sort=[REVERSESORTING]">Sortierung umkehren</a>
Im CSS: .items-showsortlink0 {display:none;} um den Link unsichtbar zu machen, wenn kein Parameter übergeben wurde.

   
Nur Gruppe Header:  
[LIST_ITEMS_LINKS] Eine Liste mit Springmarken zu den einzelnen Einträgen.
   
   

 

Wissenswertes über "Itemz":

Ein Eintrag (Item) kann zwischen Gruppen und Seiten verschoben werden. Dabei sollte man natürlich darauf achten, dass in der neuen Gruppe ähnliche Einstellungen sind.

Die Datei /modules/'.$mod_dir.'/module_settings.php bietet viele Einstellungsmöglichkeiten,

"Itemz" unterstützt "Aliases", also Platzhalter. Ein Alias ist nur ein "Abbild" eines "Originals". Weil das etwas kompliziert zu verstehen ist, ist diese Option deaktiviert.
Ein Alias wird Kursiv dargestellt

Geister verwalten
Wenn ein Eintrag gelöscht wird, verbleibt er zunächst als Geist. In diesem Bereich können Geister reaktiviert, verschoben oder endgültig gelöscht werden.
Wichtig: Wenn das Original eines Itemz endgültig gelöscht wird, werden natürlich auch überall seine Stellvertreter gelöscht.

Sortieren (Drag&Drop / Normal)
Nur aktiv, wenn die Sortierung auf "Nach Position, ASC" gestellt ist.
Die Drag&Drop-Sortierung erfolgt auf einer eigenen Seite, weil dadurch auch Gruppen bzw. Items innerhalb von Gruppen verschoben werden können.

Verschieben zu anderen Abschnitten
Wichtig vorab: Wenn Items oder deren Platzhalter über Seiten/Abschnitte hinweg verschoben werden sollen, sollten überall die gleichen Einstellungen verwendet werden, weil es sonst zu seltsamen Effekten kommen kann.


Hilfe für User

Hilfe für Admins:

Neben den WB-typischen Optionen gibt es die Datei module-settings.php im Verzeichnis modules/'.$mod_dir.'/, mit der weitere Einstellungen und insbesonders auch Vorgaben für die Optionen erstellt werden können. Auf der Website zu Itemz (www.beesign.com/'.$mod_dir.'/) gibt es einige vorgefertigte Settings für verschiedene Zwecke. Auch im Verzeichnis "demo-settings" befinden sich einige Muster, die beim nächsten Anlegen einer Itemz-Seite die entsprechenden Felder vorbelegen.
Um die Datei module-settings.php zu ändern, sind nur sehr geringe php-Kenntnisse nötig, das meiste davon kann später auch in den Optionen verändert werden.

Weitere Einstellmöglichkeiten sind in "backend.css" zu finden, etwa welche Bereiche in den Optionen (un)sichtbar sein sollen.

Optionen [2]
Im zweiten Abschnitt werden die Namen der Felder festgelegt. Wenn ein Feld keinen Namen hat, ist es im Backend und im Frontend nicht sichtbar und auch nicht bearbeitbar. (Hinweis: Wenn ein Feld nicht mehr bearbeitbar ist, wird beim erneuten Speichern auch sein etwaiger Inhalt gelöscht)
Es stehen jeweils 2 kurze und 2 lange Textfelder zu Verfügung. Weiters gibt es optional ein Feld "Link", das eine eMail-Adresse oder eine URL (beginnend mit http://") enthalten kann. Danach kann noch weiterer Text stehen, dieser wird als Linktext verwendet. Ein Beispiel:
media@beesign.com Chio Maisriml wird zu (optional mit Javascript maskiert)
http://www.beesign.com Chio’s Seite wird zu Chio’s Seite
Das optionale Feld itempage_id kann eine Zahl enthalten, und zwar die page_id einer internen Seite.
Ausprobieren!

Optionen [3]
Der dritte Abschnitt enthält WebsiteBaker-typisch die Einstellungen für die Ausgabe. Es gibt sehr viele Möglichkeiten, im Anhang der Hilfe ist die vollständige Liste.
Gut zu wissen:
Häufig gibt es sowohl [FELD] als auch {FELD}
Der Unterschied: Bei [FELD] wird nur der Inhalt ausgegeben, bei {FELD} ein vollständiger Tag: <div class="item-feld">FELD</div>
Wenn ein Feld nicht zwangsläufig etwas enthält, ist die Variante {FELD} besser, weil ein leeres Feld dann auch keinen leeren Tag bzw leeren Link erzeugt.

Tipps/Tricks

Siehe die Seiten http://websitebaker.at/wb/module/items.html

Probleme/Troubleshooting:

Auftauchende Probleme sind oft keine Bugs, sondern "Konflikte" zwischen verschiedenen Möglichkeiten. Diese könnten nur durch a) Einschränkung der Möglichkeiten oder b) Noch mehr Optionen verhindert werden.

Bilder von Itemz bzw der Aliases:
Es kann zu Konflikten kommen, wenn Einträge verschoben werden und Bildordner verschieden sind. Da ein Alias immer das selbe Bild wie das Original hat, gibt es derzeit noch Probleme, wenn sich ein Alias in einer anderen Gruppe als das Original befindet, und die andere Gruppe einen anderen Bilderordner hat.

Caching:
Standardmäßig ist Caching eingeschaltet. Es kann vorkommen, dass der Cache "von Hand" aktualisiert (=gelöscht) werden muss. Dazu einfach eine Optionenseite (irgendeine) erneut speichern. Das bewirkt in der Folge den Neuaufbau des gesamten Caches. Optional kann der Cache generell deaktiviert werden, auch dazu muss er eventuell gelöscht werden. Das Deaktivieren des Caches ist sinnvoll, wenn andere Module indirekt mit einer Itemz-Seite interagieren.


Hinweise: Feld "item_link": Dieses Feld kann eine eMail-Adresse oder einen Link enthalten. In jedem Fall muss das erste wort mit http:// beginnen (=Link) ODER ein "@" und "." enhalten (eMail). Danach kann weiterer Text stehen, dieser wird als Linktext gesehen.
Beispiel: "gerti@maier.com Frau Gerti Meier" wird zu "<a href="mailto:gerti@maier.com>Frau Gerti Meier</a>. Optional werden eMail-Adressen per Javascript maskiert, das kann aber zu Konflikten mit dem WB-Output-Filter führen.

 

Wichtig für Administratoren:

Einige Einstellungen wurden in die Datei module_settings.php als php-Code ausgelagert.
Die Variablen und Einstellungen sind dort beschrieben.
Die meisten der Variablen haben selbsterklärende Namen.

Weiteres dazu hier