Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как получить массив вложенности иерархии категорий


sanih123

Recommended Posts

Нужно получить такой массив из категорий

[1] => Array
        (
            [category_id] => 1
            [parent_id] => 0
            [name] => name
            [image] => image.jpg
            [status] => 1
            [children] => Array
                (
                    [2] => Array
                        (
                            [category_id] => 2
                            [parent_id] => 1
                            [name] => name
                            [image] => image.jpg
                            [status] => 1
                            [children] => Array
                                (

                                    [3] => Array
                                        (
                                            [category_id] => 3
                                            [parent_id] => 2
                                            [name] => name
                                            [image] => image.jpg
                                            [status] => 1
                                            [children] => Array
                                                (
                                                    [4] => Array
                                                        (
                                                            [category_id] => 4
                                                            [parent_id] => 3
                                                            [name] => name
                                                            [image] => image.jpg
                                                            [status] => 1
                                                        )

                                                )

                                        )

...

То есть уровень вложенности может быть любой, заранее спасибо

Надіслати
Поділитися на інших сайтах


Чтобы был любой уровнь, надо делать рекурсивную функцию заполнения такого массива.
Не знаю, есть ли такие модули, может кто подскажет..

Вообще обычно хватает 4-х уровней вложенности, больше - смысла нет. Хотя, видел и больше, например, на сайтах заказа авто запчастей. До 7-8 уровней было. Но вот насколько это удобно для посетителя..

Змінено користувачем Prooksius
Надіслати
Поділитися на інших сайтах

Посмотрите код стандартного меню ОпенКарт:

https://github.com/opencart/opencart/blob/master/upload/catalog/controller/common/menu.php

 

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

Надіслати
Поділитися на інших сайтах


Если есть реальная надобность, например, в 10-xx уровнях, тут так в лоб не решить, конечно, простым добавлением уровней.

Могу написать модуль, делающий такое, пишите в ЛС, если нужно.

Надіслати
Поділитися на інших сайтах

1 хвилину назад, Prooksius сказав:

Если есть реальная надобность, например, в 10-xx уровнях, тут так в лоб не решить, конечно, простым добавлением уровней.

И не надо в лоб - надо просто обернуть в рекурсию, которую вы уже упоминали выше.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.