Перейти к содержанию
greenzlat

Вывод категорий в 2 колонки

Рекомендуемые сообщения

Пытаюсь вывести категории, а точнее разбить их на 2 колонки. Главные категории выводятся норм, а с дочерними ошибочка, помогите, где косяк??

<div class="cat-wrap">
               <?php for ( $i = 0; $i < count($categories);) { ?>
                  <div class="one-dept">
      <?php $j = $i + ceil(count($categories) / 2); ?>
      <?php for (; $i < $j; $i++) { ?>
      <?php if (isset($categories[$i])) { ?>
                  <div class="oneee">
                            <a class="mainCat" href="<?php echo $categories[$i]['href']; ?>"><?php echo $categories[$i]['name']; ?></a>
                              <?php if ($category['children']) { ?>
                                  <div>
                                    <?php for ($d = 0; $d < count($categories['children']);) { ?>
                                        <ul>
                                          <?php $s = $d + ceil(count($category['children']) / $category['column']); ?>
                                          <?php for (; $d < $s; $d++) { ?>
                                          <?php if (isset($category['children'][$d])) { ?>
                                          <li><a href="<?php echo $category['children'][$d]['href']; ?>"><?php echo $category['children'][$d]['name']; ?></a></li>
                                          <?php } ?>
                                          <?php } ?>
                                        </ul>
                                    <?php } ?>
                                  </div>
                              <?php } ?>
                              
                         </div><?php } } ?>
                       </div><!--/one-dept-->
                    <?php } ?>
                </div>

Ошибка говорит в этой строке:  <?php for ($d = 0; $d < count($categories['children']);) { ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<?php for (; $i < $j; $i++) { ?> - так и должно быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<?php for (; $i < $j; $i++) { ?> - так и должно быть?

Нет очепятка, $i=1;.... но все равно подкатегории не выводятся...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет очепятка, $i=1;.... но все равно подкатегории не выводятся...

 

У вас это встречается в двух местах:

<?php for (; $i < $j; $i++) { ?>
<?php for (; $d < $s; $d++) { ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

У вас это встречается в двух местах:

<?php for (; $i < $j; $i++) { ?>
<?php for (; $d < $s; $d++) { ?>

Просто копировал строки.

Тут проблема в другом: переменная $category['children'] неправильная. как правильно определить подкатегории?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<?php if ($category['children']) { ?>

...

<?php for ... $categories['children']...

найди 10 отличий

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

За деньги кто-нибудь сможет решить задачу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

все смогут.

но зачем?

откуда ты взял @$categories['children']@

<?php for ($d = 0; $d < count($categories['children']);) { ?>
если у тебя

<?php if ($category['children']) { ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

все смогут.

но зачем?

откуда ты взял @$categories['children']@

<?php for ($d = 0; $d < count($categories['children']);) { ?>
если у тебя

<?php if ($category['children']) { ?>

 

Сделал так: 

<div class="cat-wrap">
               <?php for ( $i = 0; $i < count($categories);) { ?>
                  <div class="one-dept">
      <?php $j = $i + ceil(count($categories) / 2); ?>
      <?php for (; $i < $j; $i++) { ?>
      <?php if (isset($categories[$i])) { ?>
                  <div class="oneee">
                            <a class="mainCat" href="<?php echo $categories[$i]['href']; ?>"><?php echo $categories[$i]['name']; ?></a>
                              <?php if ($category['children']) { ?>
                                  <div>
                                    <?php for ($d = 0; $d < count($category['children']);) { ?>
                                        <ul>
                                          <?php $s = $d + ceil(count($category['children']) / $category['column']); ?>
                                          <?php for (; $d < $s; $d++) { ?>
                                          <?php if (isset($category['children'][$d])) { ?>
                                          <li><a href="<?php echo $category['children'][$d]['href']; ?>"><?php echo $category['children'][$d]['name']; ?></a></li>
                                          <?php } ?>
                                          <?php } ?>
                                        </ul>
                                    <?php } ?>
                                  </div>
                              <?php } ?>
                              
                         </div><?php } } ?>
                       </div><!--/one-dept-->
                    <?php } ?>
                </div>

Все равно та же ошибка: Notice: Undefined variable: category in/home/n//public_html/vqmod/vqcache/vq2-catalog_view_theme_default_template_common_header.tpl on line 120

Это как раз строка: 

<?php for ($d = 0; $d < count($category['children']);) { ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

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

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

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