Zum Inhalt springen

if/elseif/else Logik

Die grundlegendste Logikprüfung ist ein einfaches if/else. Damit kannst Du HTML einfügen, wenn eine Bedingung zutrifft, oder etwas anderes, wenn sie nicht zutrifft.

Die Syntax ist einfach:

{{if [expression]}}
	HTML-Ausgabe wenn expression zutrifft
{{else}}
	HTML-Ausgabe wenn expression NICHT zutrifft
{{endif}}

Es gibt auch einen elseif-Tag, mit dem Du andere Bedingungen angeben kannst, um zu überprüfen, ob frühere Bedingungen nicht übereinstimmten.

{{if [expression]}}
	HTML-Ausgabe wenn expression zutrifft
{{elseif [expression]}}
	HTML-Ausgabe wenn expression zutrifft
{{else}}
	HTML-Ausgabe wenn expressions NICHT zutreffen
{{endif}}

Praxisbeispiele

Benutzer

{{if \IPS\Member::loggedIn()->member_id === NULL}}
	Dieser Inhalt wird nur Gästen angezeigt, da sie eine NULL-member_id haben.
{{endif}}

{{if \IPS\Member::loggedIn()->member_id}}
	Dieser Inhalt wird nur eingeloggten Benutzern angezeigt, da ihre member_id eine Zahl ist, die gleich wahr ist.
{{endif}}

Benutzergruppen

{{if \IPS\Member::loggedIn()->member_group_id === 4}}
	Dieser Inhalt wird nur Benutzern angezeigt, die sich in der Gruppe mit der ID 4 befinden.
{{endif}}

{{if in_array( \IPS\Member::loggedIn()->member_group_id, array( 2, 4, 6 ) )}}
	Dieser Inhald wird nur Benutzern angezeigt, die sich in Gruppe 2, 4 oder 6 befinden.
{{endif}}

Foren

{{if $forum->id == 13 OR $forum->id == 10}}
	Dieser Inhalt wird nur im Forum mit der ID 10 angezeigt.
{{endif}}

{{if in_array( $forum->id, array( 10, 13 ) )}}
	Dieser Inhalt wird nur in den Foren mit den IDs 10 und 14 angezeigt.
{{endif}}

{{if request.app == 'forums' && request.module == 'forums' && request.id == 3}}
	Dieser Inhalt wird nur angezeigt, wenn der Benutzer in der Anwendung "Forum" das Forum mit der ID 3 betrachtet.
{{endif}}

Anwendungen

{{if \IPS\Request::i()->app == "downloads"}}
	Dieser Inhalt wird nur in der Anwendung "Downloads" angezeigt.
{{endif}}

Themes

{{if \IPS\Member::loggedIn()->skin == "1"}}
	Dieser Inhalt wird nur in dem Theme mit der ID 1 angezeigt.
{{endif}}

Seiten

{{if \IPS\Request::i()->app == 'cms' and \IPS\Request::i()->controller == 'page' and \IPS\Request::i()->module == 'pages' and $page = \IPS\cms\Pages\Page::$currentPage and \in_array($page->id, array(1,2,3,4,5))}}
	Dieser Inhalt wird nur auf den Seiten mit den IDs 1,2,3,4 und 5 angezeigt.
{{endif}}

Module

{{if request.module === 'system' && request.controller === 'privacy'}}
	Dieser Inhalt wird nur auf dem Modul "privacy" angezeigt.
{{endif}}

Sprache

{{if \IPS\Member::loggedIn()->language()->bcp47() == 'en-US'}}
	Dieser Inhalt wird angezeigt, wenn der Benutzer die Sprache Englisch eingestellt hat.
{{endif}}

Siehe auch Working with Members

Update 10.10.2020: Wie ich vorhin erfahren musste hat IPS den oben verlinken Artikel offline genommen. Vielleicht überarbeiten sie ihn nur und er ist bald wieder verfügbar.


  Problem mit Seite melden?

×
×
  • Neu erstellen...

Wichtige Information

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.