IF/ELSE-Logik
Content > Content-Seiten > Content-Seiten anzeigen
Layout > Layout-Generator
Themen bzw. Einstellungen dieses Kapitels:
2) Konzept
3) Bedingungen
Wenn Sie Einträge, Einstellungen oder Änderungen vorgenommen haben, klicken Sie vor Verlassen eines Bereichs jeweils auf das Speichern-Symbol, um Ihre Konfiguration zu sichern.
1) Info: IF/ELSE-Logik
Fallunterscheidungen können in plentyCMS mittels IF-ELSE-Logik realisiert werden.
Dadurch ist eine einfache Steuerung der darzustellenden Inhalte möglich.
Die IF/ELSE-Logik arbeitet nach folgendem Muster:
IF: Das Vorliegen einer definierten Bedingung oder eines Zustands bewirkt eine Anweisung bzw. eine Aktion.
ELSE: Das fehlende Vorliegen aller vorher definierten Bedingungen oder Zustände bewirkt eine (alternative) Anweisung bzw. eine Aktion.
ELSEIF: Das Vorliegen einer definierten alternativen Bedingung oder eines Zustand bewirkt eine Anweisung bzw. eine Aktion.
Achten Sie exakt auf die Syntax, Groß- und Kleinschreibung sind ebenfalls wichtig!
2) Konzept
Ein IF-ELSE-Block muss in einer der folgenden Varianten vorliegen:
Variante 1:
[IF::Bedingung]
HTML Inhalt
[ENDIF]
Bedeutung: Trifft Bedingung zu, wird HTML-Inhalt ausgegeben, sonst nichts.
Variante 2:
[IF::Bedingung]
HTML Inhalt
[ELSE]
Anderer HTML Inhalt
[ENDIF]
Bedeutung: Trifft Bedingung zu, wird HTML-Inhalt, sonst ein anderer HTML-Inhalt ausgegeben.
Variante 3 (ab plentyMarkets-Version 4.201):
[IF::Bedingung]
HTML Inhalt
[ELSEIF::Bedingung2]
Alternativer HTML Inhalt
[ELSE]
Standard HTML Inhalt
[ENDIF]
Bedeutung: Trifft Bedingung zu, wird HTML-Inhalt ausgegeben. Trifft Bedingung 2 zu, wird alternativer HTML-Inhalt ausgegeben. Trifft keine der Bedingungen zu, wird Standard HTML-Inhalt ausgegeben.
Es können beliebig viele ELSEIF-Bedingungen hintereinander verwendet werden.
3) Bedingungen
Jede IF-Anweisung enthält eine Bedingung. Fehlt diese, wird ein Fehler verursacht. Eine Bedingung kann erfüllt oder nicht erfüllt sein.
Eine Bedingung ist entweder eine Existenzüberprüfung (Variante 3), oder ein Vergleich. Ein Vergleich kann entweder zwischen zwei Platzhaltern oder einem Platzhalter und einem Zahlenwert vorgenommen werden.
Operatoren
Bei Vergleichen können die folgenden Operatoren verwendet werden:
- == gleich
- != ungleich
- > größer
- < kleiner
- contains Textsuche
Logische Verknüpfung:
- && und
- || oder
Gültige Bedingungen
Folgende Bedingungen sind möglich. Es können maximal 10 Bedingungen in einer IF-Abfrage verwendet werden.
[IF::[Platzhalter]] [IF::[Platzhalter]==3] [IF::[Platzhalter]!=3] [IF::[Platzhalter]<3] [IF::[Platzhalter]>3] [IF::[Platzhalter]==[Platzhalter_2]] [IF::[Platzhalter]!=[Platzhalter_2]] [IF::[Platzhalter]<[Platzhalter_2]] [IF::[Platzhalter]>[Platzhalter_2]] [IF::[Platzhalter]&&[Platzhalter_2]] [IF::[Platzhalter]||[Platzhalter_2]] [IF::([Platzhalter]||[Platzhalter_2])&&([Platzhalter_3]||[Platzhalter_4])] [IF::([Platzhalter_1]==1) && ([Platzhalter_2]==2) && ([Platzhalter_3]==3) && ([Platzhalter_4]==4) && ([Platzhalter_5]==5) && ([Platzhalter_6]==6) && ([Platzhalter_7]==7) && ([Platzhalter_8]==8) && ([Platzhalter_9]==9) && ([Platzhalter_10]==10)]
4) Praxisbeispiele
Praxisbeispiel 1
Beispielanforderung:
Ein Kunde soll mit seinem Namen begrüßt werden. Dies ist möglich, nachdem sich ein Kunde in Ihr System eingeloggt hat.
Lösung:
Ist ein Kunde eingeloggt, ist auch der Platzhalter CustomerName gefüllt, daher ergibt sich dieser Lösungsansatz:
[IF::[CustomerName]] Guten Tag [CustomerName]! [ELSE] Herzlich Willkommen! [ENDIF]
Praxisbeispiel 2
Beispielanforderung:
Über der Artikelauflistung soll der Name der aktuellen Kategorie dargestellt werden. Die dafür benötigten Platzhalter sind Teil des Templates ArticleNavigation.
Problem:
plentyMarkets unterstützt mehrere Kategorieebenen und es soll immer nur der Kategoriename der gewählten tiefsten Ebene dargestellt werden.
Lösung:
[IF::[Request_CategoryId_Level3]>0]
[Request_CategoryName_Level3]
[ELSEIF::[Request_CategoryId_Level2]>0]
[Request_CategoryName_Level2]
[ELSE]
[Request_CategoryName_Level1]
[ENDIF]
Bei diesem Beispiel wird immer der Name der aktuellen Kategorie angezeigt. Befindet sich der Kunde in einer noch tieferen Ebene, so wird dabei der Name der Ebene 3 angezeigt, denn die oberen Kategorieebenen sind in dem Fall ebenfalls immer bekannt.
Praxisbeispiel 3
Beispielanforderung:
In einer E-Mail sollen in Abhängigkeit bestimmter Zahlungsarten Hinweise aufgenommen werden.
Lösung:
Mit Hilfe des contains-Befehls ist dies relativ einfach lösbar:
[IF::"1|2|3" contains [Method_of_PaymentID]] Zahlungsinformationen bei Zahlungsarten Nachnahme (=1), Rechnung (=2) und Lastschrift (=3) [ENDIF] |