2016-06-02 2 views
-1

Hallo ich bin neu in Symfony und Twig, also ich habe die Frage:
Wie kann ich etwas wie das in Zweig erstellen?Wie ein For zu Stunden im Zweig

for ($i = 0; $ <10; $i++) { 
    //do something 
} 

Mein Problem ist, ich habe eine Stunde Option zum Auffüllen Springen 5 in 5 Minuten wie:

<option> 00:05 </option> 
<option> 00:10 </option> 
<option> 00:15 </option> 
<option> 00:20 </option> 

Und wenn bis 60 Minuten ankommen hinzufügen 1 Stunde ...

Dank für Vorschläge ...

Antwort

0

So würde ich es machen.

<select name="time"> 
    {% set i = 0 %} 
    {% for j in 0..12 %} 
     <option value={{ i }} >{{ i }}</option> 
     {% set i = i + 5 %} 
    {% endfor %} 
</select> 

Passen Sie die Nummerierung gemäß Ihren Anforderungen an.

0

Im Zweig können Sie eine Variable erstellen (sogar ein Array). In diesem Fall möchten Sie möglicherweise ein Array von Strings erstellen und es dann wie unten beschrieben durchlaufen. Beachten Sie, dass dies nur ein sehr rudimentärer Weg ist.

 <label for="split-time">Please choose a 5-Minute Split Time:</label><br /> 
     <select id="split-time"> 
      {% set minutes = ["00", "05", "10", "15", "20", "25", "30", "35", "40", "45", "50", "55"] %} 
      {% for split in minutes %} 
       <option value="00:{{ split }}">00:{{ split }}</option> 
      {% endfor %} 
     </select> 

Auf der anderen Seite, möchten Sie vielleicht nur einige Vorarbeiten in Ihrem Controller wie unten zu tun. Angenommen, Ihre Aktion ist timeAction(); Sie können innerhalb des Zeit Aktion wie folgt vorgehen:

 public function timeAction() { 
      // GENERATE THE TIME INDICES: 
      $timeIndices = array(); 
      for($i=0; $i < 60; $i+=5){ 
       $val = $i; 
       if($i < 10){ 
        $val = "0" . $i; 
       } 
       $timeIndices[] = $val; 
      } 
      return $this->render('YourBundle:ControllerName:time.html.twig', array(
       'timeIndices' => $timeIndices 
      )); 
     } 

dann in Zweig, könnten Sie tun gerade:

 <label for="split-time">Please choose a 5-Minute Split Time:</label><br /> 
     <select id="split-time"> 
      {% for timeIndex in timeIndices %} 
       <option value="00:{{ timeIndex }}">00:{{ timeIndex }}</option> 
      {% endfor %} 
     </select>