2016-12-12 4 views
-1

Ich habe zwei Mal gegeben (Doktrin Art Zeit) und möchte überprüfen, ob die aktuelle Zeit zwischen diesen Zeiten in einer For-If-Schleife ist. Ich benutze die Date compare von Zweig. Mein Code sieht aus wie:Twig aktuelle Zeit zwischen zwei mal

{% for time in restaurant.openingHours if ((time.day == day) and (date(time.opening) <= date()) and (date(time.closing) >= date())) %} 
    <span class="restaurant_info green"></span> 
{% else %} 
    <span class="restaurant_info red"></span> 
{% endfor %} 

Die letzte Bedingung (date(time.closing) >= date()) falsch ist, aber wahr geschlossen sein. Hat jemand eine Idee, um dieses Problem zu beheben?

+0

Haben Sie Fehler ?? –

+0

Bitte posten Sie den Inhalt von time.opening und time.closing und Ihr aktuelles Datum(). – colburton

Antwort

1

Zur Kontrolle würde ich Ihren Code ändern und die Forloop und If-Anweisung aufteilen. Um zu überprüfen, was schief läuft, lassen Sie die Variablen wie folgt im Zweig ablegen.

{%dump(time.opening)%} 
{%dump(time.closing)%} 
{%dump(date)%} 

    {% for time in restaurant.openingHours %} 
     {%if ((time.day == day) and (date(time.opening) <= date()) and (date(time.closing) >= date()))%} 
     <span class="restaurant_info green"></span> 
     {% else %} 
     <span class="restaurant_info red"></span> 
     {%endif%} 
    {% endfor %} 
Verwandte Themen