Форум

Навигация Форума
Вы должны войти, чтобы создавать сообщения и темы.

Помогите с циклом php (цикл по вытаскиванию категорий)

Добрый день, у меня такая проблема: Создаю интернет магазин на opencart, вывел категории, у которых есть дочерние категории и хочу сделать выпадающий список, но беда в том что в этом цикле изначально нет подкатегорий. То есть они появляются только после того как я нажимаю на главную категорию. и Появляются только в той категории на которую я нажал. Надеюсь я доходчиво объяснил проблему. Ломаю голову целый день, и никак не могу понять где ошибка. Буду очень благодарен если кто-то сможет помочь :winked:

<div class="list-group-cat">
<h2>Категории</h2>
<ul class="drop_vert_menu">
  <?php foreach ($categories as $category) { ?>
      <?php if ($category['category_id'] == $category_id) { ?>
        &n
bsp;     <li>&#60
;a href="<?php echo $category['href']; ?>" class="list-group-item active"><?php echo $category['name']; ?></a>
      <?php if ($category['children']) { ?>
      <ul>
        &n
bsp; <?php foreach ($category['children'] as $child) { ?>
        &n
bsp; <?php if ($child['category_id'] == $child_id) { ?>
        &n
bsp;       &nbs
p; <li><a href="<?php echo $child['href']; ?>" class="list-group-item active">!- <?php echo $child['name']; ?></a></li>
        &n
bsp; 
        &n
bsp; <?php } else { ?>
              <li><a href="<?php echo $child['href']; ?>" class="list-group-item">?- <?php echo $child['name']; ?></a></li>
        &n
bsp; <?php } ?>
        &n
bsp; <?php } ?>
        &n
bsp; </li>
      </ul>
  <?php } ?>
  
  <?php } else { ?>
        &n
bsp; <li><a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a></li>
  <?php } ?>
  <?php } ?>
</ul>
</div>

У меня была подобная задача, но не на OpenCart(с ним к сожалению не знаком), я сделал так, на javascript отлавливаешь момент нажатия на главную категорию -> отправляешь AJAX запрос на сервер например с названием этой самое главной категорией -> на стороне сервера формируешь массив из подкатегорий, и возвращаешь его -> далее любым удобным для тебя циклов выводить список под главной категорией :smile:

Блять задачу автора темы делается на ура вовсе без php /sql
какие цыклы итд... зачем?
Далем полное меню на хтмл, затем не нужные категории прячем под display: none затем при выборе определеных кнопок срабатывает джава скрипта и отменяет display: none

... Это же илиментарно, и не нужно никаких цыклов, цыклы? да не вы что народ....

Не понял что точно надо, но наверное вот так получится то что надо


<div class="list-group-cat">
<h2>Категории</h2>
<ul class="drop_vert_menu">
  <?foreach ($categories as $category){?>
    
      <li>&#
60;a href="<?=$category['href']
?>" class="list-group-item active"><?=$category['name&#39
;]?></a>
      
      <?if(c
ound($category['children']&#41
; > 0){?>
        
        &#
60;ul>
        
        &#
60;?foreach ($category['children'] as $child) { ?>
        
        &n
bsp; <?if ($child['category_id'] == $child_id) {?>
        &n
bsp;   <li><a href="<?=$child['href']?&#
62;" class="list-group-item active">!- <?=$child['name']?></a
></li>
        &n
bsp; <?}else{?>
        &n
bsp;   <li><a href="<?=$child['href']?&#
62;" class="list-group-item">?- <?=$child['name']?></a
></li>
        &n
bsp; <?}?>
        &n
bsp; 
        &#
60;?}?>
        
        &#
60;/ul>
        &n
bsp;   
      <?}?>
      
      </li>

  <?}?>
  
</ul>
</div>

http://joxi.ru/p27LonxT51wxA7 - вот так по понятнее

Pretorian, да ты кэп) :wink:

Авторизация
*
*
Регистрация
*
*
*
Генерация пароля