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

Как создать еще один модуль Категории

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

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

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

Вопрос, как это реализовать. Допустим в nav я могу не отображать категории по товару (дрели, мотоблоки и т.д.) т.е. убрать галочку с "показывать на главной странице" и выводить категории с производителями, а как в блоке мне выводить нужные категории ? Заранее благодарю за любые ответы и если что извиняюсь !

 

help.jpg

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


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

Спасибо большое, но я бы хотел какой то подсказки в плане реализации, возможно ли это сделать из 'коробки' или без написания модуля не обойтись ?

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


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, bobrui4anin сказал:

возможно ли это сделать из 'коробки'

нет

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


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

Уважаемые форумчане, а что если я подправлю файл в catalog\view\theme\default\template\extension\module\category.tpl. Скажем Я знаю, что на главной мне не нужно выводить к примеру 5 категорий с определенными названиями, как мне тут прописать условие (не знаком с синтаксисом php), примерно так  if (($category['category_id'] == $category_id) && ($category['category_id'] != (название категории)$category['BOSCH']) && ($category['category_id'] != 'makita')) и т.д., они же не будут выводиться на главной в колонке категорий, я правильно понимаю ? И может кто-нибудь подскажет, как правильно записать условие, буду очень признателен.

 

Код дефолтного category.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>

Думаю, я ошибся файлом, т.к. тут вроде как добавляется класс active к категориям, а где тогда лежит файл, который отвечает за подгрузку на главную колонки категорий? И возможно ли там не добавлять определенные категории по имени, как я описывал выше ?

Изменено пользователем bobrui4anin

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


Ссылка на сообщение
Поделиться на другие сайты
$no_categoryes = array(1,2,3);
if(!in_array($category['category_id'],$no_categoryes)){
    //выводим категории id которых нет в массисе   $no_categoryes
}

 

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


Ссылка на сообщение
Поделиться на другие сайты
52 минуты назад, fanatic сказал:

$no_categoryes = array(1,2,3);
if(!in_array($category['category_id'],$no_categoryes)){
    //выводим категории id которых нет в массисе   $no_categoryes
}

 

Спасибо за ответ, очень Вам благодарен, но можно уточнить, т.е. в $no_categoryes = array(59,111, и т.д.)? Я что то поэкспериментировал, у меня не вышло, не могли бы Вы подсказать куда его вставлять...

Изменено пользователем bobrui4anin

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


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

Решил немного другим путем, через jquery $('div.list-group a[href$="path=59"]').hide();, собственно и с другими так же И все.

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

Изменено пользователем bobrui4anin

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


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, bobrui4anin сказал:

Решил немного другим путем, через jquery $('div.list-group a[href$="path=59"]').hide();,

ну это костыль.  зачем выводить, чтобы потом скрывать?

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


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, bobrui4anin сказал:

уда его вставлять...

массив с категориями  $no_categoryes,  перед циклом  foreach

а в цикле проверять    

if(!in_array($category['category_id'],$no_categoryes)){
    //выводим категории id которых нет в массисе   $no_categoryes
}

 

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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