! innerhalb methoden aufrufe wirft compiler error

  • Affected App
    WoltLab Suite Core

    Hallo zusammen,

    mir ist gerade ein ungewöhnlicher Fehler aufgefallen. Ich hatte folgenden Templatecode:

    Code
    {if $object->hasRequests($object->isOwner())}
        Du hast Anfragen
    {/if}
    
    {if $otherCondition}
        ....

    Soweit so gut. Wenn ich jetzt aber in dem ersten {if} den parameter negiere:

    Code
    {if $object->hasRequests(!$object->isOwner())}

    Kommt es zu einem Compile error Template compilation failed: syntax error in tag {if} in template 'item' on line 5

    Aus irgendeinem Grund wird die erst if Bedingung nicht mehr geschlossen und der Compiler geht bis zu Zeile 5. Das gleiche Problem tritt übrigens auch für jegliche andere Veränderungen auf: $object->isOwner() === false oder $object->isOwner() == false

  • Der Parser kann diese Form der Negation nicht verarbeiten, der obige Fall ist im Übrigen eher in einer separaten Methode bzw. in der PHP-Klasse besser aufgehoben.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!