Der Zugriff auf den nächsten Wert in einem Zweig, Schleife
Ich habe ein problem, zeigt die nächste Zeile eines Ergebnisses in einer Schleife über Zweig :
//Arkiglass/ProduitBundle/Controller/DefaultController.php
<?php
public function produitAction()
{
$em = $this->getDoctrine()->getManager();
$query = $em->createQuery('SELECT p FROM ArkiglassProduitBundle:Produit p');
$produit = $query->getResult();
if (!$produit)
{
throw $this->createNotFoundException('no such Product !');
}
return $this->render('ArkiglassSiteBundle:Site:produit.html.twig', array(
'produit' => $produit
));;
}
hier ist meine Vorlage
{# produit.html.twig #}
{% for pr in produit %}
<table>
<tr>
<td>
{{ pr.description }}
</td>
<td>
{# display the next pr.description #}
</td>
</tr>
{% endfor %}
</table>
Habe ich versucht zu verwenden {{ pr[loop.index+1].description }}
aber es hat nicht funktioniert für mich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine mögliche Lösung zum drucken von zwei loop-Läufe in Folge. Die loop-Indizes (zuerst die 1, dann die 0-basiert) werden durch modulo 2, also im ersten Lauf, dem führenden
<tr>
gerendert wird, in der zweiten führen Sie das nachfolgende</tr>
gerendert wird. Und so weiter.Die ersten
loop.last
Bedingung ist, um zu zeigen, eine zweite leere Spalte, wenn die Letzte Schleife-run endet in der ersten Spalte. Die zweite Bedingung ist, schließen Sie die Zeile korrekt.Dies könnte scheinen ein bisschen unelegant, aber vermeiden Sie die zwei Schleifen.