Куда идем?

Выпадающий список подкатегорий

Больше
9 года 4 мес. назад #7444 от Pavel
Виталий, добрый день!

Столкнулся с задачей, которую пока не могу решить. Нужно создать пункт меню, который отражает подкатегории, и не просто вертикально как в стандарте, но колонками. Причем при нажатии на подкатегорию должен выпадать список статей/статья без перехода на новую страницу. Пример реализован здесь: www.dgmebel.ru/ru/elenco_aziende.php

Например, пункт меню Фабрики, при нажатии он открывает категорию Фабрики (родительская категория скрыта), в которой находятся подкатегории (Буквы от A до Z). Во-первых, каким способом можно задать отображение всех подкатегорий колонками? Далее, нажимаем на букву-подкатегорию, и вместо перехода на страницу материалов подкатегории должен выпадать список (сделанный либо как один материал либо как каждой фабрике отдельный материал). Надеюсь, описал достаточно логично. Страница, где нужно это реализовать: mebeluno.ru/manufacturers . Можно просто сравнить сайт с реализованным примером и сайт, где мне это нужно сделать, так будет нагляднее.

Спасибо за любую помощь.
С уважением,
Павел

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 4 мес. назад - 9 года 4 мес. назад #7445 от Wedal
Pavel, здесь есть 2 пути.

1-й:

Структура такая, как вы описали.

При клике по пункту меню открывается список подкатегорий родительской категории(буквы).

Далее выстроить подкатегории в 3 колонки правкой макета списка подкатегорий(я бы в данном случае советовал создать новый макет и назначить его для родительской категории, что позволит не затрагивать другие разделы сайта).

Далее создать в скрытом меню пункт списка материалов категории. Скопировать его URL.

Далее в макете списка подкатегорий вставить этот URL для ссылки каждой из подкатегорий, подставляя в него ID нужных материалов.

Далее применить скрипт загрузки данных через AJAX. Это может быть facebox(подробное описание здесь ), либо встроенный скрипт Bootstrap(с ним современнее, но посложнее разобраться)

Profit!


2-й:

Поместить все материалы в единую категорию.

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

Отсортировать материалы по алфавиту.

Через работу со строками PHP поместить каждый набор материалов, начинающихся на отдельную букву, в уникальный блок.

Через jQuery скрыть эти блоки, показав только букву и настроить их отображение по клику.

Profit!

И первый и второй способы требуют некоторых знаний программирования на PHP и jQuery. По другому никак. Разве что искать расширение, где все уже сделали за вас. Но лучше разобраться самостоятельно.
Последнее редактирование: 9 года 4 мес. назад пользователем Wedal.
Спасибо сказали: Pavel

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 3 мес. назад #7486 от Pavel
Виталий, большое спасибо за подробный пошаговый ответ!

К сожалению, поблагодарить ранее не было времени. Данные варианты я не реализовал (пока), потому что воспользовался собственным.
Решение "в лоб", но работает. В установленном шаблоне выпадающий список уже имелся - для кнопок материала "Печать" и "Email", можно увидеть здесь mebeluno.ru/privacy .

Страница с реализованным решением - mebeluno.ru/manufacturers . Это просто материал, в котором через
  • организованы все элементы, firebug был мне в помощь.
    Не самый профессиональный подход, но работает :D

    Тем не менее, работа с макетами очень полезна, спасибо!

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
9 года 3 мес. назад #7490 от Wedal
Pavel, тоже решение. Но замучаетесь править этот материал при изменении категорий/производителей. Т.е. как бы с точки зрения программирования, это очень плохой подход. Хотя для пользователей разницы нет.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.