Ergebnis 1 bis 5 von 5

Thema: switch und if im template

  1. #1
    Contao-Nutzer
    Registriert seit
    13.06.2015.
    Beiträge
    113

    Standard switch und if im template

    Hallo liebe Contao Experten,

    ich wollte gerne Inhalte in Abhängigkeit vom alias ausgeben.

    Leider funktioniert weder die switch noch die if Abfrage im Template. Ich hatte es erst in der fe_page versucht und dann in einer ausgelagerten php Datei.

    Code:
    <?php
    echo '{{page::alias}}-alias<br>';
    switch('{{page::alias}}')
        {
            case "index":
                echo 'index-case<br>';
            break;
            default:
                echo 'default-case<br>';
            break;
        }
    if ('{{page::alias}}'=='index')
    {
        echo 'test-if<br>';
    }
    else 
    {
        echo 'test-else<br>';
    }
    
    ?>
    Die Ausgabe auf der Indexseite lautet:

    index-alias
    default-case
    test-else

    Was ist am Script falsch?

    VG von Bea

  2. #2
    Contao-Nutzer
    Registriert seit
    22.06.2017.
    Beiträge
    186

    Standard

    Die insert-Tags werden erst am Schluss ausgewertet - nachdem das php schon geparst wurde.

    Schau dir mal folgendes an:

    PHP-Code:
      <?php
    echo "<pre>";
    echo 
    $this->showTemplateVars();
    echo 
    "</pre>";
    ?>
    Auf die Variablen sollteste Du mittels php zugreifen können in Deinen Templates.

  3. #3
    Contao-Fan
    Registriert seit
    03.01.2012.
    Beiträge
    813

    Standard

    Soweit ich weiß, funktionieren Inserttags in Templates nur folgendermaßen:

    Code:
    $pagealias = $this->replaceInsertTags( '{{env::page_alias}}' );

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Du kannst auch so direkt auf das Seitenobjekt zugreifen:
    PHP-Code:
    <?php

    $strPageAlias 
    $GLOBALS['objPage']->alias;
    PHP-Code:
    <?php

    global $objPage;
    $strPageAlias $objPage->alias;

  5. #5
    Contao-Nutzer
    Registriert seit
    13.06.2015.
    Beiträge
    113

    Standard

    Herzlichen Dank, das funktioniert nun prima!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •