Salut,
Voila je rencontre un petit problème avec le tuto portfolio en grille avec jQuery
J'utilise Laravel pour mon futur portfolio.
J'essaye de boucler mes réalisations dans des div au max de 4 par row mais je ne sais pas comment boucler pour avoir 4 réalisations max par row. L'idée étant que tout continue de fonctionner en rajoutant des réalisations au fur et à mesure.
exemple
<div class="project-row">
@foreach($reals as $real)
<div class="project">{{ $real->name }}</div>
@endforeach
</div>
Avec pour résultat quelque chose comme :
<div class="project-row">
<div class="project">projet-1</div>
<div class="project">projet-2</div>
<div class="project">projet-3</div>
<div class="project">projet-4</div>
</div>
<div class="project-row">
<div class="project">projet-5</div>
<div class="project">projet-6</div>
<div class="project">projet-7</div>
<div class="project">projet-8</div>
</div>
...
J'ai vu plusieurs questions sur le forum à ce sujet mais aucune réponse.
Pouvez-vous m'aider ?
Merci
Ah moi j'en ai aucune foutu idée xD
Je ne connais pas DU TOUT Laravel,
j'ai cru que c'était un truc de Laravel,
j'ai juste recopié bêtement la façon de faire de Mass22 ^^
Du coup j'imagine qu'il faut rajouter les echo
aussi.
En plus je me rends compte que je répète 3 fois <div class="project">{{ $real->name }}</div>
,
j'aime pas trop, du coup peut-être ça à la place :
<?php
$counter = 1;
foreach ($reals as $real)
{
if ($counter == 1)
{
echo '<div class="project-row">';
}
echo '<div class="project">' . {{ $real->name }} . '</div>';
if ($counter == 4)
{
echo '</div>';
$counter = 1;
}
else
{
$counter++;
}
}
if ($counter != 1)
{
echo '</div>';
}
?>
C'est plus clair.
Salut,
Une solution pourrait être de rajouter un compteur, et des conditions :
<?php
$counter = 1;
@foreach($reals as $real)
if ($counter == 4)
{
<div class="project">{{ $real->name }}</div>
</div>
$counter = 1;
}
else
{
if ($counter == 1)
{
<div class="project-row">
<div class="project">{{ $real->name }}</div>
}
else // $counter == 2 || $counter == 3
{
<div class="project">{{ $real->name }}</div>
}
$counter++;
}
@endforeach
?>
@SLK, juste une petite question, les @ c'est une nouvelle syntaxe ou tu as confondu avec du blade ? (juste pour être sûr ^^')
Hum,
tiens je viens de penser que si le nombre de reals
n'est pas un multiple de 4 ça ne va pas être bon.
Si on est sorti du foreach
sans fermer la dernière div 'project-row', alors il faut le faire maintenant.
foreach ($reals as $real)
{
...
}
if ($counter != 1)
{
echo '</div>';
}
Si tu me dis qu'effectivement il fallait rajouter ça, alors j'éditerai le post qui est en 'solution'.