Bootstrap 4 динамические навигационные таблетки с php codeigniter не работает - PullRequest
0 голосов
/ 20 сентября 2018

Когда я щелкаю по различным категориям товаров, я не могу получить соответствующие товары, но отображаются только товары из активной категории.Когда я щелкаю другой элемент навигации, ранее отображаемые элементы остаются неизменными, т. Е. Я не могу изменить класс «показывать активные» на панелях вкладок

Код:

<?php
$this->load->view ( 'templates/header' );
?>
<section class="container">
   <ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
      <?php $flag = 0; foreach ( $gallery_category as $gallery_category_data ) {?>
      <li class="nav-item">
         <a class="nav-link <?php if($flag==0){echo 'active';$flag ++;}?>" 
            id="pills<?php echo $gallery_category_data['gallery_category_id'];?>" 
            data-toggle="pill" href="#<?php echo $gallery_category_data['gallery_category_id'];?>" 
            role="tab" aria-controls="pill<?php echo $gallery_category_data['gallery_category_id'];?>" 
            aria-selected="<?php if($flag==0){echo 'true';}?>"><?php echo $gallery_category_data['gallery_category_name'];?></a>
      </li>
      <?php     }?>
   </ul>
   <div class="tab-content" id="pills-tabContent">
      <?php $counter=0; foreach ( $gallery_category as $gallery_category_data ) {?>
      <div class="tab-pane fade <?php if($counter==0){echo 'show active';}?>" id="<?php echo $gallery_category_data['gallery_category_id'];?>" role="tabpanel" aria-labelledby="pills<?php echo $gallery_category_data['gallery_category_id'];?>">
         <h6><?php echo $gallery_category_data['gallery_category_name']; ?></h6>
         <div class="row">
            <?php foreach ( $gallery_category_data ['gallery_item'] as $gallery_item_data ) {?>
            <div class="col-md-3 mb-3">
               <figure>
                  <img src="<?php echo base_url();?>assets/img/products/<?php echo $gallery_item_data['gallery_image']; ?>" class="img-fluid">
                  <a href="product_details.php">
                     <figcaption class="text-center">
                        <h6 class="mt-3">Saree</h6>
                        <p class="text-muted"><strong>Rs. 799 /-</strong></p>
                     </figcaption>
                  </a>
               </figure>
            </div>
            <?php }?>
         </div>
      </div>
      <?php $counter++; }?>
   </div>
</section>
<?php
$this->load->view ( 'templates/footer' );
?>

Я не могу диагностироватьпроблема в этом коде, пожалуйста, помогите мне решить эту проблему

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Просто сопоставьте условие внутри цикла foreach :

$cat = $gallery_category_data['gallery_category_name'];    
foreach ( $gallery_category_data ['gallery_item'] as $gallery_item_data ) 
{    
  if($gallery_item_data['category name in table'] == $cat){

  } 
}
0 голосов
/ 20 сентября 2018

если вы замените:

<?php if($flag==0){echo 'active';$flag ++;}?>

на

<?php if($flag==0){echo 'nav'.$flag;$flag ++;}?>

и удалите:

<?php if($counter==0){echo 'show active';}?>

После того, как ваш скрипт добавит это

<script>
$(document).ready(function(){
  $( ".nav0" ).trigger( "click" );
});
</script>

это хорошо?

...