There is a next array with points and sub-paragraphs of a multi-level menu:
& lt;?
$ AMENULINKS = Array (
0 = & gt; Array (
"Distance",
"",
Array (),
Array (
"Depth_level" = & gt; "1"
),
"",
),
1 = & gt; Array (
"Information",
"",
Array (),
Array (
"Depth_level" = & gt; "1",
),
"",
),
2 = & gt; Array (
"Equipment",
"",
Array (),
Array (
"Depth_level" = & gt; "1"
),
"",
),
3 = & gt; Array (
"Partners",
"",
Array (),
Array (
"Depth_level" = & gt; "1"
),
""
),
4 = & gt; Array (
"Contacts",
"",
Array (),
Array (
"Depth_level" = & gt; "1"
),
""
),
// Subclauses
5 = & gt; Array (
"Rotunda",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "1",
),
"",
),
6 = & gt; Array (
"Moebius trail",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "1",
),
"",
),
7 = & gt; Array (
"Firebird",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "1",
),
"",
),
8 = & gt; Array (
"Bobur",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "1",
),
""
),
9 = & gt; Array (
"Sloth",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "1",
),
""
),
10 = & gt; Array (
"Sturm of the sky [Kids]",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "1",
),
""
),
11 = & gt; Array (
"Position",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "2",
),
"",
),
12 = & gt; Array (
"Program",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "2",
),
"",
),
13 = & gt; Array (
"About Nikola-Leniv",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "2",
),
"",
),
14 = & gt; Array (
"How to get there",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "2",
),
""
),
15 = & gt; Array (
"Accommodation",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "2",
),
""
),
16 = & gt; Array (
"Nutrition",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "2",
),
""
),
17 = & gt; Array (
"Mandatory gear",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "3",
),
"",
),
18 = & gt; Array (
"Nutrition Recommendations",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "3",
),
""
),
19 = & gt; Array (
"Equipment Recommendations",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "3",
),
""
),
20 = & gt; Array (
"Camping",
"",
Array (),
Array (
"Depth_level" = & gt; "2",
"Have_parent" = & gt; "3",
),
""
)
);
? & gt;
You must execute sub-clauses of the corresponding menu items in the site template. I tried to perform result_modifier.php
as follows, but subparagraphs are not output:
$ arresult ['top'] = [];
$ arresult ['child'] ['distances'] = [];
$ ArResult ['Child'] ['info'] = [];
$ arresult ['Child'] ['Equip'] = [];
Foreach ($ Arresult AS $ Item) {
if ($ item ['params'] ['depth_level'] == 1) {
$ arresult ['top'] [] = $ item;
} ELSEIF ($ item ['params'] ['depth_level'] == 2 & amp; & amp; $ item ['params'] ['have_parent'] == 1) {
$ arresult ['child'] ['distances'] [] = $ item;
} elseif ($ item ['params'] ['depth_level'] == 2 & amp; & amp; $ item ['params'] ['have_parent'] == 2) {
$ arresult ['child'] ['info'] [] = $ item;
} elseif ($ item ['params'] ['depth_level'] == 2 & amp; & amp; $ item ['params'] ['have_parent'] == 3) {
$ Arresult ['Child'] ['Equip'] [] = $ Item;
}
}
$ arresult ['child'] = array_chunk ($ arresult ['child'], 2);
However, neither items nor subparagraphs menu in the template are output. How to fix the output of items and subparagraphs?
Template for output:
& lt; ul class = "header-menu__wrap" & gt;
& lt;? php foreach ($ arresult ['top'] as $ itemtop) {? & gt;
& lt; li class = "Header-menu__item" & gt;
& lt; a href = "& lt;? = $ itemtop ['Link']? & gt;" class = "Header-menu__link" & gt; & lt;? = $ itemtop ['Text']? & gt; & lt; / a & gt;
& lt; div class = "Header-DD-Menu" & gt;
& lt; div class = "Header-DD-Menu__Wrap" & gt;
& lt; div class = "Container" & gt;
& lt; div class = "row" & gt;
& lt;? php foreach ($ arresult ['child'] as $ itemgroup) {? & gt;
& lt; ul class = "Header-DD-Menu__COLUMN COL" & GT;
& lt;? php foreach ($ itemgroup as $ itemchild) {? & gt;
& lt; li & gt;
& lt; a class = "Header-dd-menu__link" href = "" & gt;
& lt;? = $ itemchild ['Text']? & gt;
& lt; / a & gt;
& lt; / li & gt;
& lt;? php}? & gt;
& lt; / ul & gt;
& lt;? php}? & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt; / li & gt;
& lt;? php}? & gt;
& lt; / ul & gt;
Answer 1
it turned out:
template.php
& lt; ul class = "header-menu__wrap" & gt;
& lt;? php foreach ($ arresult ['menu'] as $ itemtop) {? & gt;
& lt; li class = "Header-menu__item" & gt;
& lt; a href = "& lt;? = $ itemtop ['Link']? & gt;" class = "Header-menu__link" & gt; & lt;? = $ itemtop ['Text']? & gt; & lt; / a & gt;
& lt;? php if (! Empty ($ itemtop ['children'])) {? & gt;
& lt; div class = "Header-DD-Menu" & gt;
& lt; div class = "Header-DD-Menu__Wrap" & gt;
& lt; div class = "Container" & gt;
& lt; div class = "row" & gt;
& lt;? php foreach ($ itemtop ['Children'] AS $ Group) {? & GT;
& lt; ul class = "Header-DD-Menu__COLUMN COL" & GT;
& lt;? php foreach ($ group as $ itemchild) {? & gt;
& lt; li & gt;
& lt; a class = "header-dd-menu__link" href = "& lt;? = $ itemchild ['Link']? & gt;" & gt;
& lt;? = $ itemchild ['Text']? & gt;
& lt; / a & gt;
& lt; / li & gt;
& lt;? php}? & gt;
& lt; / ul & gt;
& lt;? php}? & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt;? php}? & gt;
& lt; / li & gt;
& lt;? php}? & gt;
result_modifier.php
& lt;? php
$ result ['menu'] = [];
Foreach ($ Arresult AS $ ID = & GT; $ Item) {
if ($ Item ['Params'] ['depth_level'] === '1') {
$ Result ['Menu'] [$ id + 1] = $ item;
} elseif (! Empty ($ ParentID = $ item ['params'] ['have_parent'])) {
$ Result ['Menu'] [$ ParentID] ['Children'] [] = $ Item;
}
}
$ arresult = $ result;
Foreach ($ ArResult ['Menu'] AS & AMP; $ Item) {
If (! Empty ($ item ['children'])) {
$ item ['Children'] = Array_Chunk ($ item ['children'], 2);
}
}