@alex_p95
Учусь

Как сделать меню с категориями?

Коллеги, здравствуйте, прошу не пинать:)
Делаю для себя тестовый проект и столкнулся с созданием меню категорий. Обычное меню я могу сделать, то есть когда все потомки выводятся сразу, а как сделать так, чтобы потомок выводился только при нажатии на родителя?
Например, изначально у нас две родительские категории:

- Шутеры
- Спорт

При нажатии на шутеры было вот так, айдишник нажатой категории выводится в гет параметре:

- Шутеры
--От первого лица
--От третьего лица

-Спорт

При нажатии на "От первого лица" выводились свои потомки и т.п.
Не понимаю как это реализовать...
Таблица в бд имеет вид
id,id_parent,name

Знаю что можно сделать js-ом, вывести все категории и через js сделать аккордеон, но как сделать только на php? Спасибо всем большое!
  • Вопрос задан
  • 302 просмотра
Пригласить эксперта
Ответы на вопрос 1
65536
@65536
хранить где-то в сессии состояние развернутости узлов, массив из идов. решить какое дефолтное состояние для всех, при рендрежке меню учитывать наличие ида в этом массиве, если есть то считать состояние противоположным дефолтному. если выходит что вложенное дерево скрыто, то не рендрить его вообще либо сделать скрытым. при нажатии на узлы слать на сервер инфу о том что такой-то узел меняет состояние, изменить его в сессии (убрать или добавить в тот массив), перезагрузить дерево. или не перезагружать? а джсом его складывать раскладывать, при условии что оно было целиком загружено, вместе со скрытыми узлами

и только не id_parent, а parent_id
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы