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

Условие по порядку сортировки категории


Recommended Posts

Есть одна не простая задача с менюшкой.

Нужно реализовать следующее:

На странице категории в списке подкатегорий вывести только категории с порядком сортировки = 'N'

<ul>
      <?php foreach ($categories as $category) { ?>
<?php if ($category('sort_order') == 6) { ?>
      <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
      <?php } ?>
<?php } ?>
    </ul>

Попробовал так, но ни выходит.

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


$category('sort_order')

$category['href']

$category['name']

Ничего не смущает?

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

Используйте функцию var_dump чтобы узнать есть ли в переменной sort_order. <?php var_dump($categories); ?>. Если нет, то идите в контроллер и ищите где нужные данные назначаются.

 

В файле catalog/controller/category.php (145 строка)

$this->data['categories'][] = array(
	'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
	'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
);

замените на:

$this->data['categories'][] = array(
	'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
	'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
	'sort_order' => $result['sort_order'];
);

Помнится, что делал Вам vqmod модуль как раз для этой задачи (у категорий в админке появится галочка, с помощью нее можно убрать категорию из списка подкатегорий на странице категории). extended_category_show.zip

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

Да. Но здесь другая задача. Нужно вывести все подкатегории и сгруппировать их.
Нашел такой выход - группировка по порядку сортировки. И в шаблоне каждой главной категорий вручную сгруппировать их по статусу, с заголовками.
 
Добавил в контроллер category.php то, что вы написали и вывел в category.tpl так (с замечанием tabook):

  <?php if ($categories) { ?>
  <div class="category-list">
 <?php foreach ($categories as $category) { ?>
<?php if ($category['sort_order'] == 6) { ?>
      <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
      <?php } ?>
<?php } ?>
  </div>
  <?php } ?>

Страница категории не открывается.

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


А вообще, было круто создать модуль такой простенький. Где можно группировать подкатегории.

Создаешь группу и вводишь: название группы и порядок сортировки( ну или можно отдельное поле создать для этой функции, или выбор категорий с галочками). Ну и возможность задать класс группе.

Сколько примерно будет стоить разработка такого?

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


Чего делать? как группировать?

 

порядок сортировки будет работать  если категории от одного родителя.

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

Ну так и подразумевается, что от одного родителя, в списке подкатегорий же.

 

Про группировку.

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

Ванны

<div id="category-group-1"> <span>по размеру:</span> здесь выводятся подкатегории </div>
<div id="category-group-2"> <span>по форме:</span> здесь выводятся подкатегории </div>
<div id="category-group-3"> <span>по производителю:</span> здесь выводятся подкатегории </div>
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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