Bonjour,

Voila je rencontre un petit problème avec mon code.

  • Je cherche à afficher des elements selon des catégories, Ex :
  • j'ai 3 catégories (possion, champignon, recette_confortables)
  • chacune de ces catégories contient des recettes.
  • je dois afficher 5 recette pour chaque catégorie

Ce que je fais

comme je bosse sur Zend, j'ai un controller et une view:
voila e que je fais dans mon controller :
controller :

$this->view->listeCoursLiveFuturs = array(
    $Courslive3Model->getPlaylistContent(5, 5),
    $Courslive3Model->getPlaylistContent(21, 5),
    $Courslive3Model->getPlaylistContent(23, 5)
   );

View :

 <?php 
            $i = 0;
            $nbr_thematique_max = 12; 
                foreach ($this->listeCoursLiveFuturs as $allplaylist) :  ?>

            <?php if($i == 0 ):?>
                <div class="row-fluid blockrow">
            <?php elseif($i == $nbr_thematique_max):?>
                </div>
            <?php elseif ($i % 5 == 0): ?>
                </div>
                <div class="row-fluid blockrow">
            <?php 
            endif; ?>
            <?php $allplaylist[$i]['image'] = url('media') . "courslive3-b" . $allplaylist[$i]['id_courslive3']; ?>
                <?php // $image = url('media') . 'playlist-b' . $allplaylist['id_courslive3']; ?>
                <div class="col-lg-3 suggestion" <?php echo (MDETECT_SUPPORT == 'mobile'?'style="margin: 10px;width: calc(100% - 20px);"':'')?>>
                   <a  href="<?php echo l(array('controller' => 'courslive3', 'action' => 'detail', 'id' => $allplaylist[$i]['id_courslive3']), false, true); ?>" title="<?php echo __('Cours de cuisine en ligne : %1$s', $allplaylist[$i]['libelle']); ?>">
                        <img src="<?php echo $allplaylist[$i]['image']; ?>" alt="<?php echo $this->img_suggestion; ?>" />
                        <div class="banner_img oswald text-center">
                            <div>
                                <?php echo $allplaylist[$i]['titre']; ?>
                            </div>
                        </div>
                    </a>  
                </div>  
                    <?php   $i++;  endforeach;  ?>
            </div>

Ce que je veux

le visuel dans le navigateur doit être comme ceci :
poisson : recette1, recette2, ....recette5
champigon : recette1, recette2, ....recette5
recette_confortables : recette1, recette2, ....recette5
les recette seront affichées dans le bloc : <div class="col-lg-3 suggestion..

Ce que j'obtiens

le problème avec mon code c'est qu'il m'affiche pour chaque catégorie, une seule recette.
je n'ai pas su comment géré ça. déja le premier souci est dont le [$i] : $allplaylist[$i] mais je ne sais pas comment régler cela.

merci d'avance

1 réponse


On ne voit pas tout le code mais à mon avis, il manque un foreach

foreach ($this->listeCoursLiveFuturs as $recipes)  {
    foreach ($recipes as $recipe) {
        ...
    }
}