Коллеги, здравствуйте, прошу не пинать:)
Делаю для себя тестовый проект и столкнулся с созданием меню категорий. Обычное меню я могу сделать, то есть когда все потомки выводятся сразу, а как сделать так, чтобы потомок выводился только при нажатии на родителя?
Например, изначально у нас две родительские категории:
- Шутеры
- Спорт
При нажатии на шутеры было вот так, айдишник нажатой категории выводится в гет параметре:
- Шутеры
--От первого лица
--От третьего лица
-Спорт
При нажатии на "От первого лица" выводились свои потомки и т.п.
Не понимаю как это реализовать...
Таблица в бд имеет вид
id,id_parent,name
Знаю что можно сделать js-ом, вывести все категории и через js сделать аккордеон, но как сделать только на php? Спасибо всем большое!
хранить где-то в сессии состояние развернутости узлов, массив из идов. решить какое дефолтное состояние для всех, при рендрежке меню учитывать наличие ида в этом массиве, если есть то считать состояние противоположным дефолтному. если выходит что вложенное дерево скрыто, то не рендрить его вообще либо сделать скрытым. при нажатии на узлы слать на сервер инфу о том что такой-то узел меняет состояние, изменить его в сессии (убрать или добавить в тот массив), перезагрузить дерево. или не перезагружать? а джсом его складывать раскладывать, при условии что оно было целиком загружено, вместе со скрытыми узлами