Jump to content
Sign in to follow this  
Marusia

[РЕШЕНО] Разное боковое меню в зависимости от выбранной категории

Recommended Posts

Ребята привет!


 


Подскажите, может кто сталкивался с таким. 


 


Мне надо сделать следующее:


 


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


 


Кто сталкивался помогите плизз!


Share this post


Link to post
Share on other sites

С ходу на ум приходит только костыль с привязкой к категории с классом .active

Смысл в том, что в tpl'ке модуля для обычных категорий прописываем dispay:none, а для категорий с классом .active dispay:block

 

и подгружать эту tpl'ку только на маршрутах product/category и product/product

 

Но это жесткий костыль... просто первое что на ум пришло...

  • +1 1

Share this post


Link to post
Share on other sites

С ходу на ум приходит только костыль с привязкой к категории с классом .active

Смысл в том, что в tpl'ке модуля для обычных категорий прописываем dispay:none, а для категорий с классом .active dispay:block

 

и подгружать эту tpl'ку только на маршрутах product/category и product/product

 

Но это жесткий костыль... просто первое что на ум пришло...

 

Жестковато для моего мозга))) но спасибо за наводку

Share this post


Link to post
Share on other sites

Жесткость заключается не в сложности, а в иррациональном подходе...

А как это сделать могу подсказать без проблем :)

Share this post


Link to post
Share on other sites

Жесткость заключается не в сложности, а в иррациональном подходе...

А как это сделать могу подсказать без проблем :)

 

Будьте любезны, если есть возможность реализации такого, то пусть оно даже иррациональное но оч нужно)) подскажите. Только у меня еще ничего на хостинг не загружено. Для того, что бы подсказать нужен действующий проект или не обязательно?))

Share this post


Link to post
Share on other sites

1. В директории \catalog\view\theme\default\template\module находите category.tpl и создаете его копию с именем category2.tpl

2. В category2.tpl находите строку 

<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> 

и заменяете ее на 

<a style="display: none;" href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>

3. В директории \catalog\controller\module находите category.php 

4. В category.php находите текст 

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/category.tpl';
} else {
$this->template = 'default/template/module/category.tpl';
}

и заменяете его на 

if ($this->request->get['route']=='product/category' or $this->request->get['route']=='product/product') {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category2.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/category2.tpl';
} else {
$this->template = 'default/template/module/category2.tpl';
}
} else {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/category.tpl';
} else {
$this->template = 'default/template/module/category.tpl';
}
}

Если я ничего не упустил, то должно сработать...

  • +1 2

Share this post


Link to post
Share on other sites

Спасибо большое!!! Я испытаю и сразу отпишусь, рабочее или нет.

Share this post


Link to post
Share on other sites

Спасибо большое!!! Я испытаю и сразу отпишусь, рабочее или нет.

Ну так рабочее или нет? Тоже заинтересовало

Share this post


Link to post
Share on other sites

Ну так рабочее или нет? Тоже заинтересовало

 

НГ был долгим)) Сейчас начинаю пробовать метод который подсказал xds он же единственный в своем роде))) и сразу отпишу.

Share this post


Link to post
Share on other sites

Привет xds твой жесткий костыль работает. Сделала сейчас. только на главной выдает вот это

Notice: Undefined index: route in /home/c/тутмоя база видимо/мой урл/public_html/catalog/controller/module/category.php on line 66Notice:

Share this post


Link to post
Share on other sites

 

Привет xds твой жесткий костыль работает. Сделала сейчас. только на главной выдает вот это

Notice: Undefined index: route in /home/c/тутмоя база видимо/мой урл/public_html/catalog/controller/module/category.php on line 66Notice:

 

Что бы сказать что-то вразумительное нужно весь код контролера увидеть... киньте под спойлер

  • +1 1

Share this post


Link to post
Share on other sites

Что бы сказать что-то вразумительное нужно весь код контролера увидеть... киньте под спойлер

<?php class ControllerModuleCategory extends Controller { protected function index($setting) { $this->language->load('module/category'); $this->data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $this->data['category_id'] = $parts[0]; } else { $this->data['category_id'] = 0; } if (isset($parts[1])) { $this->data['child_id'] = $parts[1]; } else { $this->data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $total = $this->model_catalog_product->getTotalProducts(array('filter_category_id' => $category['category_id'])); $children_data = array(); $children = $this->model_catalog_category->getCategories($category['category_id']); foreach ($children as $child) { $data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $total += $product_total; $children_data[] = array( 'category_id' => $child['category_id'], 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) ); } $this->data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $total . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } if ($this->request->get['route']=='product/category' or $this->request->get['route']=='product/product') {if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category2.tpl')) {$this->template = $this->config->get('config_template') . '/template/module/category2.tpl';} else {$this->template = 'default/template/module/category2.tpl';}} else {if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category.tpl')) {$this->template = $this->config->get('config_template') . '/template/module/category.tpl';} else {$this->template = 'default/template/module/category.tpl';}} $this->render(); }}?>

Вот код контроллера category.php Тема у меня не дефолтная но по всей видимости это не влияет, я заменяла название темы в коде который кинули на свою тему и та же ситуация

 

if ($this->request->get['route']=='product/category' or $this->request->get['route']=='product/product') {
Это 66 я строка)) может поможет в выяснении

Share this post


Link to post
Share on other sites

А на магазин можно ссылку?

  • +1 1

Share this post


Link to post
Share on other sites

Ну так рабочее или нет? Тоже заинтересовало

 

Рабочее!!! 

 

У меня в контроллере 66 строка выдавала ошибку на главной, xds написал решение и оно то же рабочее, вот если что

 

Заменить 

if ($this->request->get['route']=='product/category' or $this->request->get['route']=='product/product') {

На

if (isset($this->request->get['route']) and ($this->request->get['route']=='product/category' or $this->request->get['route']=='product/product')) {

Благодарю xds за эксклюзивное решение проблемы!!!))

  • +1 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By nikifalex
      Первым трем покупателям небольшие доработки модуля под ваши особенности и советы по правильному применению. И постоянная акция - если вам модуль не подходит по каким-то причинам, то полный возврат оплаченной суммы.   
      Модуль позволяет автоматически добавить в категорию товары, подходящие под условия.
      Модуль не создает категории сам. Категории вы создаете сами, с нужными тегами, иерархией, как угодно.
      Поэтому в результате можно создать произвольную гибкую структуру категорий.
      ну а модуль просто добавит товары в эти категории по определенным критериям. Автоматически.
       
      Для добавления товаров в категорию можно использовать неограниченное количество фильтров,
      каждый из которых может включать
      - название и значение (либо диапазон значений) атрибута.
      - диапазон цены
      - учитывать акции товара - либо все, либо только с акцией, либо только без акции
      - производитель
      - наличие подстроки в названии товара
      - категория
      в категорию добавляются товары, целиком подходящие под все фильтры.
      Обрабатывать можно как отдельную одну категорию, так и все категории сразу.
      Все товары, которые не подходят, удаляются из этой категории.
      Модуль позволяет делать страницы-категории в которых будут тематические группы товаров.
      например:
      1) женская одежда на осень больших размеров
      2) кухонные принадлежности tefal с ценой меньше 2000 руб по распродаже
      3) автомобильные шины шириной от 195 до 225, профилем от 55 до 60 и диаметром 16

      Поскольку это обычная категория, у этой страницы  могут быть все SEO теги, описание, SEO URL, на странице может работать фильтр
      и любые другие модули.
      Что очень хорошо подходит для SEO продвижения и лендингов.
      Также такие категории можно ставить внутрь категорий, в меню, в тематические подборки, что улучшает навигацию по сайту
      и помогает пользователю сразу перейти в нужные товары. Ссылки на эти категории можно ставить на баннеры, слайдеры и
      прочие рекламные материалы.

      установка:
      1) загрузить файл nkf_autocategory_oc23_1_1.ocmod.zip через установку расширений в админке.
      2) обновить модификаторы
      3) активировать модуль в расширения-модули
      4) зайти в модуль и поставить статус "включено"
      Теперь в категории можно указать параметры для выбора товаров. И потом перейти в модуль и в модуле нажать "запустить"
      Модуль работает на opencart 2.3, ocstore 2.3, ocshop 2.3 Модуль не затирает системные файлы. Язык модуля - Русский. 

      Политика безусловного возврата: В течение недели после покупки вы можете запросить полный возврат денег за покупку, если вы не удовлетворены качеством модуля. Все что надо это написать в личку, указать причину и реквизиты для перевода.
    • By nikifalex
      1 950.00 руб
      Скачать/Купить дополнение


      Модуль автокатегорий
      Первым трем покупателям небольшие доработки модуля под ваши особенности и советы по правильному применению. И постоянная акция - если вам модуль не подходит по каким-то причинам, то полный возврат оплаченной суммы.   
      Модуль позволяет автоматически добавить в категорию товары, подходящие под условия.
      Модуль не создает категории сам. Категории вы создаете сами, с нужными тегами, иерархией, как угодно.
      Поэтому в результате можно создать произвольную гибкую структуру категорий.
      ну а модуль просто добавит товары в эти категории по определенным критериям. Автоматически.
       
      Для добавления товаров в категорию можно использовать неограниченное количество фильтров,
      каждый из которых может включать
      - название и значение (либо диапазон значений) атрибута.
      - диапазон цены
      - учитывать акции товара - либо все, либо только с акцией, либо только без акции
      - производитель
      - наличие подстроки в названии товара
      - категория
      в категорию добавляются товары, целиком подходящие под все фильтры.
      Обрабатывать можно как отдельную одну категорию, так и все категории сразу.
      Все товары, которые не подходят, удаляются из этой категории.
      Модуль позволяет делать страницы-категории в которых будут тематические группы товаров.
      например:
      1) женская одежда на осень больших размеров
      2) кухонные принадлежности tefal с ценой меньше 2000 руб по распродаже
      3) автомобильные шины шириной от 195 до 225, профилем от 55 до 60 и диаметром 16

      Поскольку это обычная категория, у этой страницы  могут быть все SEO теги, описание, SEO URL, на странице может работать фильтр
      и любые другие модули.
      Что очень хорошо подходит для SEO продвижения и лендингов.
      Также такие категории можно ставить внутрь категорий, в меню, в тематические подборки, что улучшает навигацию по сайту
      и помогает пользователю сразу перейти в нужные товары. Ссылки на эти категории можно ставить на баннеры, слайдеры и
      прочие рекламные материалы.

      установка:
      1) загрузить файл nkf_autocategory_oc23_1_1.ocmod.zip через установку расширений в админке.
      2) обновить модификаторы
      3) активировать модуль в расширения-модули
      4) зайти в модуль и поставить статус "включено"
      Теперь в категории можно указать параметры для выбора товаров. И потом перейти в модуль и в модуле нажать "запустить"
      Модуль работает на opencart 2.3, ocstore 2.3, ocshop 2.3 Модуль не затирает системные файлы. Язык модуля - Русский. 

      Политика безусловного возврата: В течение недели после покупки вы можете запросить полный возврат денег за покупку, если вы не удовлетворены качеством модуля. Все что надо это написать в личку, указать причину и реквизиты для перевода.
      Добавил nikifalex Добавлено 23.03.2019 Категория Прочее Системные требования Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3 Обращение к серверу разработчика Нет  
    • By ocdroid
      Скачать/Купить дополнение


      Category wall | Стена категорий Opencart 3.0.x
      Стена категорий (вывод категорий плиткой) для Opencart 3.0.x
      Распространяется as is
      Добавил ocdroid Добавлено 18.04.2019 Категория Меню, дизайн, внешний вид Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет  
    • By buslikdrev
      420.00 руб · Срок продления: 200.00 руб за 3 года
      Скачать/Купить дополнение


      Изображение из товара в категорию / Image from product to category
      Название модуля: Изображение из товара в категорию - "Image from product to category"
      Версия модуля: 1.1
      Тип лицензии: Full (полная версия)
      Тип установки: ocmod
      Язык: Беларуская мова, English, Русский язык, Українська мова
      Дата создания: 15.10.2017
      Дата обновления: 15.02.2017
      Был протестирован на: OpenCart.pro 2.1.0.2.2 и 2.3.0.2.5, OpenCart-"Русская сборка" 2.1.0.2 (rs1), 2.3.0.2 (rs6) и 3.0.2.0 (rs3), ocStore 1.5.4.1.2, 2.1.0.2.1 и 2.3.0.2.3 - шаблон (default)
      Название архива 1: Image from product to category v1.0 Full OpenCart 2.X.ocmod.zip
      Название архива 2: Image from product to category v1.1 Full OpenCart 2.X-3.0.X.ocmod.zip

      ДЕМОНСТРАЦИЯ:


      ОПИСАНИЕ
      Вам надоело вручную выбирать изображение для каждой категории? Вы устали? Тогда этот модификатор то, что нужно Вам!
      С помощью этого модуля (модификатора) Вы сможете с лёгкостью установить изображения на все категории, где есть товар!
      А именно, на странице категорий и при редактировании категории появится волшебная кнопка, которая скопирует фотографию из товара.
      Как это работает? Всё очень просто! Если вы находитесь на странице категорий, то можете просто нажать на кнопку, тогда будут заполнены фотографии тех категорий, в которых есть товар или подкатегория с товаром. А если вы не хотите заменять фотографии всех категорий, то просто выделите нужные категории, но помните, что если в категории нету товара и подкатегории с изображением, тогда фотографии не будет, пока не скопируете из товара в подкатегорию. Когда вы находитесь на странице редактирования категории, кнопка работает также, как и при выделении, только выделять ненужно ничего.

      ВНИМАНИЕ!
      Сделайте бэкап базы данных!
      Конкретнее: oc_category
      Оригинальные файлы магазина не заменяет!

      Модификатор "вносит изменения" в следующие файлы:
       

      УСЛОВИЯ СОГЛАШЕНИЯ
      - Beta версии устанавливаете на свой страх и риск - бэкап базы данных (далее - БД) обязателен;
      - Модуль (модификатор, дополнение, расширение, приложение) (далее - Модуль) можно устанавливать на 1 домен включая поддомены (одна покупка - один домен);
      - Редактировать код можно только под нужды своего магазина;
      - Распространение модуля запрещено;
      - Техническая поддержка (далее - ТП) осуществляется только при появлении ошибки, бага, глюка (зависания) и не совместимости модуля с заявленными версиями Opencart и шаблонов на момент продажи, при установке на боевой сайт (рабочий хостинг);
      - Адаптация модуля под другую версию Опенкарта, нестандартный шаблон и сторонние модули - платная;
      - Автор модуля оставляет за собой право в любое время внести изменение в настоящее условие, описание и исходный код модуля;
      - Автор модуля оставляет за собой право прекратить ТП пользователям по истечению 365 календарных дней со дня последнего обновления модуля (Full или Beta версии), или со дня окончания продления ТП, или при форс-мажорных обстоятельств;
      - ТП осуществляется при условии соблюдения данного соглашения, пишите в личные сообщения.
      Добавил buslikdrev Добавлено 22.11.2017 Категория Инструменты, утилиты Системные требования Сайт разработчика http://buslikdrev.by/ Старая цена Метод активации По запросу на почту Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Нет
      Да  
    • By buslikdrev
      Название модуля: Изображение из товара в категорию - "Image from product to category"
      Версия модуля: 1.1
      Тип лицензии: Full (полная версия)
      Тип установки: ocmod
      Язык: Беларуская мова, English, Русский язык, Українська мова
      Дата создания: 15.10.2017
      Дата обновления: 15.02.2017
      Был протестирован на: OpenCart.pro 2.1.0.2.2 и 2.3.0.2.5, OpenCart-"Русская сборка" 2.1.0.2 (rs1), 2.3.0.2 (rs6) и 3.0.2.0 (rs3), ocStore 1.5.4.1.2, 2.1.0.2.1 и 2.3.0.2.3 - шаблон (default)
      Название архива 1: Image from product to category v1.0 Full OpenCart 2.X.ocmod.zip
      Название архива 2: Image from product to category v1.1 Full OpenCart 2.X-3.0.X.ocmod.zip

      ДЕМОНСТРАЦИЯ:


      ОПИСАНИЕ
      Вам надоело вручную выбирать изображение для каждой категории? Вы устали? Тогда этот модификатор то, что нужно Вам!
      С помощью этого модуля (модификатора) Вы сможете с лёгкостью установить изображения на все категории, где есть товар!
      А именно, на странице категорий и при редактировании категории появится волшебная кнопка, которая скопирует фотографию из товара.
      Как это работает? Всё очень просто! Если вы находитесь на странице категорий, то можете просто нажать на кнопку, тогда будут заполнены фотографии тех категорий, в которых есть товар или подкатегория с товаром. А если вы не хотите заменять фотографии всех категорий, то просто выделите нужные категории, но помните, что если в категории нету товара и подкатегории с изображением, тогда фотографии не будет, пока не скопируете из товара в подкатегорию. Когда вы находитесь на странице редактирования категории, кнопка работает также, как и при выделении, только выделять ненужно ничего.

      ВНИМАНИЕ!
      Сделайте бэкап базы данных!
      Конкретнее: oc_category
      Оригинальные файлы магазина не заменяет!

      Модификатор "вносит изменения" в следующие файлы:
       

      УСЛОВИЯ СОГЛАШЕНИЯ
      - Beta версии устанавливаете на свой страх и риск - бэкап базы данных (далее - БД) обязателен;
      - Модуль (модификатор, дополнение, расширение, приложение) (далее - Модуль) можно устанавливать на 1 домен включая поддомены (одна покупка - один домен);
      - Редактировать код можно только под нужды своего магазина;
      - Распространение модуля запрещено;
      - Техническая поддержка (далее - ТП) осуществляется только при появлении ошибки, бага, глюка (зависания) и не совместимости модуля с заявленными версиями Opencart и шаблонов на момент продажи, при установке на боевой сайт (рабочий хостинг);
      - Адаптация модуля под другую версию Опенкарта, нестандартный шаблон и сторонние модули - платная;
      - Автор модуля оставляет за собой право в любое время внести изменение в настоящее условие, описание и исходный код модуля;
      - Автор модуля оставляет за собой право прекратить ТП пользователям по истечению 365 календарных дней со дня последнего обновления модуля (Full или Beta версии), или со дня окончания продления ТП, или при форс-мажорных обстоятельств;
      - ТП осуществляется при условии соблюдения данного соглашения, пишите в личные сообщения.
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.