Swig - if wird bei extends nicht wirksam?

  • Hallo,

    ich arbeite gerade mit der Swig-Templateengine.
    In einem Ordner content habe ich mehrere Seiten, die unterschiedlich geladen werden können.
    Als Startseite (nach einem Reload oder Login) oder als nachgeladener Content für den Inhalt eines divs.

    Nun möchte ich eigentlich nicht beide Datein nur erstellen.
    Also erben meine Datein aus dem content Ordner von meiner game.html
    Die Variable layout wird beim rendern der Seite übergeben. Bei einer nachgeladenen Seite bekomme ich dann
    als Ausgabe auch ein false, wenn ich layout dumpe. Jedoch wird trotzdem das Layout angezeigt.
    Dann habe ich im div einfach wieder meine Seite mit dem neuen Content...
    Aber das Layout sollte ja eigentlich gar nicht geladen werden.

    Oder geht das nicht, dass man extends in eine if packt?
    Konnjte dazu bei Google nichts finden :/

    nachgeladener Content:

    Code
    res.render('users/content/' + page, { usr: req.session.user, layout: false } );


    Content als "Startseite":

    Code
    res.render('users/content/' + user.page, { usr: user, layout: true });


    Ergebniss der Variablen layout ist dann auch true oder false...

    Content-Datei if-Abfrage

    Code
    {% if layout %}
        {% extends '../game.html' %}
    {% endif %}

    Kann mri das nicht erklären :/
    Kann mir jemand sagen wo da der Fehler liegen könnte?


    danke und liebe Grüße
    :roll:

  • Ok konnte eine Lösung von einem Kollegen bekommen.
    Der Entwicklung hat diese Methode extra nicht implementiert, da sie Performanceeinbußen macht.

    'Daher setze ich nun eine globale Ajax-Variable fest und prüfe in der game.html ob einfach nur Content oder Content mit Layout angezeigt werden muss.
    Eigentlich auch eine schönere Lösung als davor.

    Danke trotzdem.

    #closed :)