• Resolvido Gisele

    (@gislef)


    Estou tentando criar while para exibir as imagens no carrousel bootstrap.

    Consigo acessar o array com todas urls, mas não estou conseguindo inserir na tag img no while, tentei while com foreach para exibir as imagens mas não esta funcionando.

    Já os indicadores estão exibindo corretamente mas com um indicador a mais, não sei como fazer para não contar o zero

           <?php
                $this_post_id = get_the_ID();
                $urls =get_post_meta($this_post_id,'my-images', true);
                $totalUrls = count($urls);//conta urls no array
                $number = 0; 
            ?>      
    
      <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
      <!-- Indicators -->
    
      <ol class="carousel-indicators">
        <?php while($number <= $totalUrls){ ?>
        <li data-target="#myCarousel" data-slide-to="<?php echo $number++; ?>"></li>
        <?php } ?>
      </ol>
    
      <!-- Wrapper for slides -->
      <div class="carousel-inner" role="listbox">
    
        <?php 
      while($number <= $totalUrls){
         foreach($urls as $url){
            ?>
                <div class="item active"> // como deixar classe active apenas na imagem ativa
          <img src="<?php echo $url;?>"  class="img-responsive" />
          <div class="carousel-caption">
            ...
          </div>
        </div>
         <?php  $number++ 
           } //end foreach
       } //end while
    ?>
     </div>

    Agradeço ajuda

    • Este tópico foi modificado 9 anos atrás por Gisele.
Visualizando 1 resposta (de um total de 1)
  • Criador do tópico Gisele

    (@gislef)

    Ufa consegui:

    solução:

    <?php
    			$this_post_id = get_the_ID();
    			$urls =get_post_meta($this_post_id,'my-image', true);
    			$totalUrls = count($urls);//count urls in array
    			$number = 0; 
    			$initUrls = 0;
    
    		?>		
    		  
    		  
      <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
      <!-- Indicators -->
      
      <ol class="carousel-indicators">
        <?php while($number < $totalUrls){ ?>
        <li data-target="#myCarousel" data-slide-to="<?php echo $number++; ?>"></li>
        <?php } ?>
      </ol>
    
      <!-- Wrapper for slides -->
      <div class="carousel-inner" role="listbox">
         	
    	<?php 
    				
    			while($initUrls < $totalUrls){
    				foreach($urls as $url){
    				if ($initUrls++ === 0) {
    	?>
    				<div class="item active">
    			  <img src="<?php echo $url;?>"  class="img-responsive" />
    			  <div class="carousel-caption">
    				...
    			  </div>
    			</div>	
    		<?php }else{ ?>
    			<div class="item">
    			  <img src="<?php echo $url;?>"  class="img-responsive" />
    			  <div class="carousel-caption">
    				...
    			  </div>
    			</div>
    		<?php	
    			}
    		
    			}
    		}
    		?>
Visualizando 1 resposta (de um total de 1)

O tópico ‘Como fazer o while para exibir carrossel dinâmico?’ está fechado para novas respostas.