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

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

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

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

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

На странице категории в списке подкатегорий вывести только категории с порядком сортировки = '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 пользователей онлайн

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

×

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

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