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}}