Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Меню с активным пунктом и выводом остальных подкатегорий


Recommended Posts

Доброго времени, прошу подсказать по модулю меню идущего из коробки ocstore 2.3

Стандартный код tpl 

<div class="list-group">
  <?php foreach ($categories as $category) { ?>
  <?php if ($category['category_id'] == $category_id) { ?>
  <a href="<?php echo $category['href']; ?>" class="list-group-item active"><?php echo $category['name']; ?></a>
  <?php if ($category['children']) { ?>
  <?php foreach ($category['children'] as $child) { ?>
  <?php if ($child['category_id'] == $child_id) { ?>
  <a href="<?php echo $child['href']; ?>" class="list-group-item active">&nbsp;&nbsp;&nbsp;- <?php echo $child['name']; ?></a>
  <?php } else { ?>
  <a href="<?php echo $child['href']; ?>" class="list-group-item">&nbsp;&nbsp;&nbsp;- <?php echo $child['name']; ?></a>
  <?php } ?>
  <?php } ?>
  <?php } ?>
  <?php } else { ?>
  <a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a>
  <?php } ?>
  <?php } ?>
</div>

Меню отлично отрабатывает и не выводит лишние ссылки из других под категорий, а лишь те под категории относящиеся к главному разделу в котором находимся.

Нужно чуток модифицировать и сделать что бы остальные под категории выводились тоже.

<!-- это главные категории -->
<?php foreach ($categories as $category) { ?>
  <?php if ($category['category_id'] == $category_id) { ?>
  <a href="<?php echo $category['href']; ?>" class="list-group-item active"><?php echo $category['name']; ?></a>
  <?php } else { ?>
  <a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a>
  <?php } ?>
  <?php } ?>
<!--   Это подкатегории относящиееся к главной категории в которой находимся
  Помогите дописать сюда, что бы выводились и остальные подкатегории -->
<div class="list-group">
  <?php foreach ($categories as $category) { ?>
  <?php if ($category['children']) { ?>
  <?php foreach ($category['children'] as $child) { ?>
  <?php if ($child['category_id'] == $child_id) { ?>
  <a href="<?php echo $child['href']; ?>" class="list-group-item active">&nbsp;&nbsp;&nbsp;- <?php echo $child['name']; ?></a>
  <?php } else { ?>
  <a href="<?php echo $child['href']; ?>" class="list-group-item">&nbsp;&nbsp;&nbsp;- <?php echo $child['name']; ?></a>
  <?php } ?>
  <?php } ?>
  <?php } ?>
  <?php } ?>
</div>

Пс: делаю для себя в свой магазин. Возможно код выше можно сделать более лаконичным и не плодить переборы массивом и можно объединить все в один участок кода.

И да нужно разделить главные категории в отдельный верхний пункт меню, а под категории будут ниже в отдельном пункте меню, по типу табов в бустрап, где название таба это главная категория, вкладка таба - это под категории этой главной категории.

Критика, помощь и тп, буду благодарен помощи.

Надіслати
Поділитися на інших сайтах


<div class="list-group">
  <?php foreach ($categories as $category) { ?>
  <a href="<?php echo $category['href']; ?>" class="list-group-item <?php echo ($category['category_id'] == $category_id)? 'active' : ''; ?>"><?php echo $category['name']; ?></a>
  <?php if ($category['children']) { ?>
  <?php foreach ($category['children'] as $child) { ?>
  <a href="<?php echo $child['href']; ?>" class="list-group-item <?php echo ($child['category_id'] == $child_id)? 'active' : ''; ?>">&nbsp;&nbsp;&nbsp;- <?php echo $child['name']; ?></a>
  <?php } ?>
  <?php } ?>
  <?php } ?>
</div>

 

Надіслати
Поділитися на інших сайтах


@n3bo

Спасибо, но не выводятся остальные под категории из соседней категории, нужно перебором под категорий вывести все под категории на страницу. А сейчас выходит что остальные подкатегории не доступны пока не перейти в главную категории, потом переключает и показывает уже под категории это главной, а я хочу вывести под категории все .

Змінено користувачем pimur
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.