У меня есть PHP массив таких категорий
$category = array(
1 => array(
'id' => 1,
'parentID' => 0,
'name' => 'SUV auto parts'
),
2 => array(
'id' => 2,
'parentID' => 1,
'name' => 'Engine Related'
),
3 => array(
'id' => 3,
'parentID' => 2,
'name' => 'Spark Plugs'
),
4 => array(
'id' => 4,
'parentID' => 2,
'name' => 'Engine Oil'
),
5 => array(
'id' => 5,
'parentID' => 1,
'name' => 'Body related'
),
6 => array(
'id' => 6,
'parentID' => 0,
'name' => 'Sedan auto parts'
),
7 => array(
'id' => 7,
'parentID' => 6,
'name' => 'Engine Related'
),
);
Мне удалось отобразить дерево меню следующим образом:
SUV auto parts
-- Engine Related
---- Spark Plugs
---- Engine Oil
-- Body Related
Sedan auto parts
-- Engine Related
I пытался сделать панировочные сухари, используя { ссылка }
function breadcrumber($array,$id){
static $result=[]; // declare the storage variable without losing elements during recursion
if(isset($array[$id])){ // if target exists
$result[]=$array[$id]['name']; // store title text
$parent=$array[$id]['parentID']; // assign new target
unset($array[$id]); // remove possibility of an infinite loop
breadcrumber($array,$parent); // recurse
}
return $result;
}
echo implode(' -> ',breadcrumber(array_column($category,NULL,'id'),4));
Небольшая функция, прекрасно работает, но ...
- Я не могу понять, чтобы отобразить его с HTML /category.php?id=
- Показывает
Моторное масло -> Связанное с двигателем -> Автозапчасти для внедорожников
вместо того, что я хочу, чтобы это было похоже,
Автозапчасти внедорожника -> Связанные с двигателем -> Моторное масло
Я также попробовал этот подход { ссылка } Кажется, чтобы решить обе мои проблемы ... однако это не создает хлебные крошки для одного родителя одного ребенка.
Автозапчасти седана -> Связанные с двигателем
Отображается только при
Родительская категория -> Дочерняя категория -> Дочерняя категория
Буду признателен, если кто-нибудь даст какое-либо решение для устранения этих проблем.
Ожидаемый результат составит
Автозапчасти для внедорожников -> Двигатель -> Моторное масло
<a href="/category/1">SUV auto Parts</a> -> <a href="/category/2">Engine Related</a> -> <a href="/category/4">Engine Oil</a>
Или только для одной детской категории;
Седан автозапчасти -> Двигатель
<a href="/category/6">Sedan auto Parts</a> -> <a href="/category/7">Engine Related</a>