Автор Тема: Подменю  (Прочитано 129 раз)

24 Августа 2016, 18:34:21
  • Пользователь
  • **
  • Сообщений: 50
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый вечер. Народ подскажите как сделать: нужно создать меню брендов как на рисунку пример. Там где новости. Сами новости нужно что бы были не кликабельным пунтком и при наведении выпадали брэнды товаров которые сейчас у фильтре. Посоветуйте плиз как и через что это реализировать?
24 Августа 2016, 18:47:21
Ответ #1
  • Пользователь
  • **
  • Сообщений: 50
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль blocktopmenu
24 Августа 2016, 19:32:56
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 13135
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Бренды и новости добавить нужно в модуле. В стандарном варианте вывод будет в несколько колонок. Если хотите одну, то нужно изменить стили в файле /themes/default-bootstrap/css/modules/blocktopmenu/css/superfish-modified.css
.sf-menu > li > ul {
    width: меняете на то что вам нужно
24 Августа 2016, 19:45:01
Ответ #3
  • Пользователь
  • **
  • Сообщений: 50
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я создал подпункт через категории теперь нужно сделать его не кликабельным и поменять ему как то позицию. И сделать чтобы этот sub-меню выводил еще одно меню, которые сейчас находятся в фильтре тоесть бренды товаров. Мне заново нужно создавать эти бренды или можна их каким то образом достать с фильтра?
24 Августа 2016, 20:47:12
Ответ #4
  • Пользователь
  • **
  • Сообщений: 50
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Попробую по другому изложить вопрос я чуток наверное не правильно выразился: новости нужно сделать не кликабельными (не знаю это нужно через код или можно в настройках)а меню что выпадает с новостей должно быть брендами теми что сейчас находятся в фильтре(через категории я то могу добавить подменю но не знаю как сделать чтобы оно выводило то самое что при выборе конкретного фильтра)
24 Августа 2016, 21:10:54
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 2163
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Так с модулем blocktopmenu не сделаешь. Тебе нужен модуль megamenu или advanced top menu.
24 Августа 2016, 21:19:27
Ответ #6
  • Пользователь
  • **
  • Сообщений: 50
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А подправить может что то можно, просто модуль нельзя менять. Хоть как сделать не кликабельным? А брэнды может можна просто через ссылки из фильтра сделать?
24 Августа 2016, 23:45:23
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 2163
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Фильтры это в модуле Блок многоуровневой навигации. Он к модулю меню не относится. Не кликабельными можно сделать только через код. В файле blocktopmenu.php в фунции cms меню убрать href для страниц с ид твоих страниц новостей.
25 Августа 2016, 12:43:51
Ответ #8
  • Пользователь
  • **
  • Сообщений: 50
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А как узнать id страницы?
25 Августа 2016, 12:45:29
Ответ #9
  • Пользователь
  • **
  • Сообщений: 50
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ну а сами ссылки с фильтра на страницы можно подтянуть через код?
25 Августа 2016, 12:52:12
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 32991
  • Репутация: +26759/-0
    • Просмотр профиля
Можно сделать все. Формируете ссылку, в модуле меню добавялете эту ссылку.
Для таких действий придуман модуль Advanced Search 4. В нем можно создавать разные шаблоны url.
25 Августа 2016, 12:54:44
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 32991
  • Репутация: +26759/-0
    • Просмотр профиля
А как узнать id страницы?
Какой и зачем?
Различают страницы по переменной
$page_name
25 Августа 2016, 13:03:04
Ответ #12
  • Пользователь
  • **
  • Сообщений: 50
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для подменю не знаю куда там в модуле ставить ссылку, а id чтобы сделать один пункт не кликабельным
25 Августа 2016, 13:14:48
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 32991
  • Репутация: +26759/-0
    • Просмотр профиля
Для под-меню в модуле Горизонтальное меню нельзя добавить ссылку в настройках, только для 1-го уровня.
Для вашей задачи этот модуль не подходит. Точнее можно прямо в коде в файле blocktopmenu.php в методе makeMenu добавить ссылку, но метод не очень хороший.
Сделать некликабельными ссылки можно, только использовать нужно id товара, категории или cms. В зависимости от типа страницы в классе /modules/blocktopmenu/blocktopmenu.php в методе makeMenu выбираете функцию. Для cms страниц например 'CMS'. Смотрите ид страницы, ссылку на которую нужно сделать некликабельной, и добавляете условие
if (id_cms == 'id страницы')
  . '#' .
else
   . Tools::HtmlEntitiesUTF8($cms[0]['link']) .
25 Августа 2016, 15:04:07
Ответ #14
  • Пользователь
  • **
  • Сообщений: 50
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А если для категории то?
if (id_category == 'id страницы')
  . '#' .
else
   . Tools::HtmlEntitiesUTF8($category[0]['link'])