Objekt-Wizard: Listeneintrag des Objektes

Objekt-Wizard: Listeneintrag des Objektes
Objekt-Wizard: Listeneintrag des Objektes

Bedienung

Ab CMS-Version 15 können auch die Zeilen-Templates über den Objektwizard gestaltet werden. Es steht dann ein weiterer Reiter zur Verfügung, über den sich die Listendarstellung des Objektes mit Hilfe des gewohnten Struktureditors gestalten lässt.

Im Gegensatz zur Listengestaltung über CSS bzw. CSS-Only werden dabei die anzuzeigenden Elemente innerhalb eines Listeneintrags im Editor eingefügt und über CSS-Varianten gestaltet.

Während diese Technik bei einfachen Listen kaum eine Rolle spielt, eignet sie sich besonders dann, wenn weitere Objektdaten aus eigenen Web-Anwendungen auszugeben sind. Ohne ins CSS wechseln zu müssen, sind damit neue Objektdaten mit wenigen Klicks ergänzt. Umfangreiche Möglichkeiten pro Element sorgen dafür, dass die auszugebenden Objektdaten vor der Ausgabe formatiert, umgewandelt oder ergänzt werden können.

Damit die im Objektwizard definierte Listendarstellung auch angewendet wird, muss in der Liste z.B. die Darstellungsvariante "Darstellung über Objektwizard" ausgewählt werden.
Zudem muss das Objekt-Template die erforderlichen Ergänzungen für die Darstellung als Listeneintrag beinhalten (siehe z.B. aktuelle news.wObject.php).

Neben dem Element, um Objektdaten ausgeben zu können, sind auch Container, bedingte Container, HTML, Bilder, Links sowie Listenerweiterungen über der Struktureditor einfügbar. Außerdem lassen sich auch eigene Listenerweiterungen ergänzen und zur Auswahl freigeben.

Objektdaten in der Liste ausgeben

Dieses Strukturelement ermöglicht die Ausgabe von Objektdaten in der Liste.

'Name der auszugebenden Objektdaten':

In diesem Feld tragen Sie die Objektdaten oder Metadaten ein, welche ausgegeben werden sollen.
z.B. name, price, size, Objektwizard - Listeneintrag des Objektes ,

'Auf Ergebnis anzuwendende Funktion':

Über diese Auswahlbox wählen Sie optional die zur Verfügung stehenden Funktionen aus, welche auf das Ergebnis angewandt werden sollen.
z.B.:

  • Als Datum formatieren
  • disableOutputEscaping

'Parameter für Funktion':

In diesem Feld tragen Sie die Parameter zur zuvor ausgewählten Funktion ein.
z.B. beim Datum formatieren: d.m.Y

'Zu suchendes Muster':

In diesem Feld tragen Sie den regulären Ausdruck für das zu suchende Muster ein.

'Zu ersetzender Text':

In diesem Feld tragen Sie den String ein, welcher zum zuvor gesuchten Muster ausgegeben werden soll.

'Ersetzungstyp':

Über diese Auswahlbox wählen Sie den Ersetzungstyp für den Suchen/Ersetzen Vorgang aus.

'Text vor der Ausgabe':

In diesem Feld tragen Sie den String ein, welcher vor der Ausgabe gesetzt werden soll.

'Text nach der Ausgabe':

In diesem Feld tragen Sie den String ein, welcher nach der Ausgabe gesetzt werden soll.

'Inhalt verlinken':

Ist dieser Parameter aktiviert, wird der Inhalt verlinkt.

'Position / Ausrichtung':

Über diese Auswahlbox wählen Sie optional den gewünschten Wert aus.

'Abstand':

Über diese Auswahlbox wählen Sie optional den gewünschten Wert aus.

'Farbe':

Über diese Auswahlbox wählen Sie optional den gewünschten Wert aus.

'Innerhalb farbiger Bereiche':

Über diese Auswahlbox wählen Sie optional den gewünschten Wert aus.

'Größe':

Über diese Auswahlbox wählen Sie optional den gewünschten Wert aus.

'Zusätzliches CSS':

In diesem Feld tragen Sie optional die CSS-Definitionen ein, welche für die Ausgabe herangezogen werden sollen.

'Zusätzliches CSS':

In diesem Feld tragen Sie optional die CSS-Klasse ein, welche für die Ausgabe herangezogen werden soll.

'Nur Anzeigen, wenn nicht leer':

Ist dieser Parameter aktiviert, wird das Element nur ausgeben, wenn die auszulesenden Daten nicht leer sind.

Objektdaten als HTML bzw. nur HTML

Dieses Weblic® / Strukturelement ermöglicht die Ausgabe von Objektdaten. Diese können unter anderem individiuell über HTML formatiert werden. Zudem ist der Einsatz von WSL-Tags möglich, was im Info-Text unterhalb der Box angeführt wird. Beispiele finden Sie unter anderem in der Mobile First Hilfe.

'HTML Sonderzeichen (nicht) maskieren':
Über diese Auswahlbox legen Sie fest, ob HTML Sonderzeichen im Feld maskiert oder nicht maskiert werden sollen.

'WSL interpretieren':
Ist dieser Parameter aktiviert, werden WSL-Tags, welche im HTML-Feld angegeben sind, in der Ausgabe interpretiert.

'Info-Text':
Der Info-Text unterhalb der gelben Box zeigt Ihnen bereits ein paar Beispiele, was im HTML-Feld definiert werden kann.

Nachfolgend der zum Zeitpunkt der Doku-Erstellung gesetzte Info-Text, welcher direkt Beispiele anführt und :

Info-Text / Weitere Beispiele

'Info-Text':

Die Platzhalter werden durch die entsprechenden Objektdaten ersetzt, z.B.
<div>[!--firstname--] [!--surname--]</div>
<div>[!--text--]</div>

Weitere Platzhalter:
[!--meta_title--] [!--meta_description--] [!--meta_keywords--] [!--meta_thumbnail_src--] [!--meta_publication_time--] [!--meta_publication_name--] [!--meta_creation_time--] [!--meta_creation_name--] [!--meta_categories--] [!--stat_path--] [!--stat_extension_uid--] [!--stat_path_projectlanguage--]

Falls HTML nicht maskiert werden soll, sieht der Platzhalter so aus:
<div>[!--text.disableOutputEscaping()--]</div>

Falls zusätzlich die Fließtextformatierungen genutzt werden sollen:
<div class="elementStandard elementContent elementText">[!--text.disableOutputEscaping()--]</div>

Bedingungen sind über folgende Syntax umsetzbar:
[!--#if test="firstName != ''"--]<div>[!--firstName--]</div>[!--#endif--]

Schleifen sind über folgende Syntax umsetzbar:
z.B. über Mehrfachtermine im Objekt-Feld "dates":
[!--#foreach select="dates" orderBy="" orderDir=""--]<div><wsl:date format="D, d.m.Y H:i" time="[!--from--]" lang="de"/> Uhr</div>[!--#endforeach--]
z.B. über Mehrfachauswahl im Objekt-Feld "downloads" (per Pipe getrennt):
[!--#foreach select="downloads.split()" orderBy="" orderDir=""--]<div><a href="[!--text()--]" lang="de">[!--text()--]</a></div>[!--#endforeach--]

Beispiel für den Einsatz von WSL:
<p><wsl:date format="d.m.Y" time="[!--meta_publication_time--]"/></p>

'Weitere Beispiele':

Diverse Zeichen für die Ausgabe maskieren:

  • z.B. um über wsl:php einfache Apostrophe zu maskieren:
    $description = wStringconverter::maskApos('[!--meta_description.disableOutputEscaping(maskApos)--]');

Kategorien sind über folgende Syntax umsetzbar:

  • Kategorien im wd:meta Bereich:
    [!--#foreach select="meta_categories" orderBy="" orderDir=""--][!--#if test="'[!--position()--]' != '1'"--], [!--#endif--]
    <wsl:getCategoryText path="/[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories/standard.wCategories.php" id="[!--text()--]"/>

    [!--#endforeach--]
  • Kategorien im wd:object Bereich (z.B. location):
    [!--#foreach select="location" orderBy="" orderDir=""--][!--#if test="'[!--position()--]' != '1'"--], [!--#endif--]
    <wsl:getCategoryText path="/[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories/location.wCategories.php" id="[!--text()--]"/>
    [!--#endforeach--]
  • Kategorien-Text über WSL weiterverarbeiten:
    [!--#foreach select="meta_categories" orderBy="" orderDir=""--][!--#if test="'[!--position()--]' != '1'"--], [!--#endif--]
    <div>
    <wsl:php>
    $categoryText = wsl_getCategoryText::parseTag(array('path' => '/[IHR-LAYOUT-PROJEKT]]/wGlobal/content/categories/standard.wCategories.php', 'id' => '[!--text()--]'), '');
    print $categoryText;
    </wsl:php>
    </div>
    [!--#endforeach--]

Universelle Syntax über wsl:php, z.B.:
<wsl:php>
  if('[!--meta_publication_time--]' > date('Y-m-d H:i:s', time())){
    <![CDATA[
    print '<div class="publicationDate">[!--meta_publication_time--]</div>';
    ]]>
  }
</wsl:php>

Verknüpfte Bedingungen:


Ab CMS-Version 17 können einfache Und- bzw. Oder-Verknüpfungen in Templates umgesetzt werden.
Es ist möglich über || bzw. && zu verknüpfen, mischen ist allerdings nicht möglich. Mit Hilfe der konjunktiven Normalform ist das aber durch Verschachtelung umsetzbar.

<div>Feld 1: [!--field1--]</div>
<div>Feld 2: [!--field2--]</div>
[!--#if test="field1 != ''"--]<div>1</div>[!--#endif--]
[!--#if test="field2 != ''"--]<div>2</div>[!--#endif--]
[!--#if test="field1 != '' || field2 != ''"--]<div>1 oder 2</div>[!--#endif--]
[!--#if test="field1 != '' && field2 != ''"--]<div>1 und 2</div>[!--#endif--]



Vorschaubild

Dieses Strukturelement ermöglicht die Ausgabe eines Vorschaubildes in der Liste.
Die Maske der Einstellungen führt die Möglichkeiten auf.

Link

Dieses Strukturelement ermöglicht die Ausgabe eines Links in der Liste.
Die Maske der Einstellungen führt die Möglichkeiten auf.

Container

Dieses Strukturelement ermöglicht die Ausgabe eines Containers in der Liste.
Die Maske der Einstellungen führt die Möglichkeiten auf.

Bedingter Container für Objektdaten

Dieses Strukturelement ermöglicht die Ausgabe eines bedingten Containers in der Liste.
Die Maske der Einstellungen führt die Möglichkeiten auf.

Listenerweiterung einbinden

Dieses Strukturelement ermöglicht die Nutzung einer Listenerweiteurng in der Liste.
Die Maske der Einstellungen führt die Möglichkeiten auf.

Tipp

Wenn Sie weitere Strukturelement beim "Listeneintrag des Objektes" verfügbar haben wollen, ergänzen Sie im entsprechenden Mastertemplate-Element (z.B. von der Inhaltsbox) die erforderliche Gruppe:

<wd:contentGroup name="contentObjectListEntry"/>

Bei Containern (wie z.B. der Inhaltsbox) müssen Sie im Nachgang dafür sorgen, daß dort eben so die gewünschten Strukturelemente einfügbar sind.