Dokumentation
Schwierigkeitsgrad:
Configuratie - Klant Pagina - Content Pagina's - Content Blok

Ein Header, Footer oder Inhaltsblock, der sich an die Seite anpasst, auf der er steht: ein großes Headerfoto auf der Startseite und ein kleines auf den übrigen Seiten, ein Tipp nur auf der Suchseite oder ein Aktionsbanner, das beim Bezahlen verschwindet. Das erreichen Sie mit den Seitenvariablen über den Modifier ires_page. Sie funktionieren in allen Inhaltsblöcken, auch in den Header- und Footerblöcken eines Themes.

Die Seitenvariablen

VariableWert
{"path"|ires_page}Pfad der Seite ohne Query-String, z. B. /overzicht.
{"uri"|ires_page}Pfad plus Query-String, z. B. /overzicht?cat=3.
{"mod"|ires_page}Das Modul der Seite, auch hinter einer SEO-URL. Z. B. searchevents, calendar, checkout, paymentresult.
{"rewrite"|ires_page}Der SEO-Alias der Seite.
{"lang"|ires_page}Die aktuelle Sprache, z. B. NL oder EN.
{"<parameter>"|ires_page}Jeder andere Parameter der Seite.

Die Werte werden bereinigt: kein HTML, keine Anführungszeichen und höchstens 255 Zeichen. Ist ein Wert leer oder existiert der Parameter nicht, erhalten Sie nichts zurück. Deshalb funktioniert |default:"..." einfach:

<body class="page-{"mod"|ires_page|default:"content"}">

Aus dem Editor einfügen

Im Editor eines Inhaltsblocks steht im rechten Bereich ganz oben die Gruppe Seitenvariablen. Klicken Sie auf eine Variable, um sie an der Cursorposition einzufügen. Dort finden Sie auch fertige if-Beispiele, die Sie direkt anpassen können. Mehr über den Seitenbereich lesen Sie unter Wie baue ich einen Inhaltsblock mit Variablen?.

Beispiele

1. Großes Headerfoto auf der Startseite, kleines auf den übrigen Seiten

{if "path"|ires_page == "/" || "path"|ires_page == "/start"}
  <img src="/images/header-groot.jpg" class="header header-groot" alt="">
{else}
  <img src="/images/header-klein.jpg" class="header header-klein" alt="">
{/if}

2. Ein Tipp nur auf der Suchseite

{if "mod"|ires_page == "searchevents"}
  <div class="alert alert-info">Tip: filter op datum om sneller een plek te vinden.</div>
{/if}

3. Aktionsbanner beim Bezahlen ausblenden

Ein ruhiger letzter Schritt sorgt für weniger Abbrüche.

{if "mod"|ires_page != "checkout" && "mod"|ires_page != "paymentresult"}
  <div class="promo-banner">Nu 10% korting met code HERFST</div>
{/if}

4. Text pro Sprache

<a href="/boeken" class="btn btn-primary">
  {if "lang"|ires_page == "EN"}Book now{elseif "lang"|ires_page == "DE"}Jetzt buchen{else}Nu boeken{/if}
</a>

5. Auf einen Teil der URL reagieren

Mit |strstr:"..." prüfen Sie, ob ein Text im Pfad vorkommt, zum Beispiel auf allen Seiten, deren URL kalender enthält.

{if "path"|ires_page|strstr:"kalender"}
  <p>Kies hieronder een dag in de kalender.</p>
{/if}

Von REQUEST_URI zu ires_page

Aus Sicherheitsgründen sind $smarty.server, $smarty.session, $smarty.cookies und ähnliche Variablen in Inhaltsblöcken nicht erlaubt. Der Block zeigt dann einen Hinweis statt seines Inhalts. Das alte {$smarty.server.REQUEST_URI} funktioniert weiterhin: Es wird automatisch in {"uri"|ires_page} übersetzt. Verwenden Sie in neuen Blöcken aber ires_page. Werte aus dem Query-String über {$smarty.get.name} bleiben erlaubt.

Vorher:

{if $smarty.server.REQUEST_URI == "/overzicht"} ... {/if}

Jetzt:

{if "uri"|ires_page == "/overzicht"} ... {/if}
{* or, ignoring the query string: *}
{if "path"|ires_page == "/overzicht"} ... {/if}

Tipp: Werte anzeigen

Unsicher, welchen Wert eine Seite hat? Setzen Sie dies vorübergehend in den Block, öffnen Sie die Seite und entfernen Sie die Zeile danach wieder:

<small>mod: {"mod"|ires_page} | path: {"path"|ires_page} | lang: {"lang"|ires_page}</small>