Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

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

00 голосов
5
Работаю в битриксе недавно, посмтрел тут документацию про меню, ничего не понятно.
На сайте есть меню с двумя уровнями.
"
1
2
3
4
"
при нажатии третьего меню сразу же выпадает
"
1
2
3.1
3.2
3.3
3.4
3.5
4
"
По умолчанию в контенте отображается 3.1 а там тоже список из 6 пунктов, созданы как элементы. Надо сделать так чтобы эти 6 пунктов дополнительно отображались в меня как 3 уровень, т.е.
"
1
2
3.1
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.2
3.3
3.4
3.5
4
"

Подскажите как реализовать эту идею.
Заранее спасибо.
спросил 17 Окт, 13 от Renex (180 баллов)

5 Ответы

00 голосов
Обычно:
.top.menu.php - файл лежит в корне сайта - в нем пункты меню первого уровня (в твоем случаи это 1,2,3,4).
В папке 3 по твоей структуре лежит файл .left.menu.php , в котором описаны пункты 3.1 - 3.5.
Тебе необходимо в папке 3.1 создать файл .left.menu.php в котором описать пункты 3.1.1 - 3.1.6
В настройках шаблона я думаю догадаешься что указать.
Для основного уровная - Главное меню
для остальных Меню раздела уровня =3
ответил 08 Ноя, 13 от Grimmi (2,560 баллов)
00 голосов
Ситуация следующая:
В корне (файлы и папки) у меня нет файла .top.menu.php
в корне есть только: меню типа "left"
в нем прописано основное меню без вложений.
в папке 3 лежит:
1) меню типа "top";
2) файл .top.menu_ext.php
3) файл detail.php
4) файл index.php

папки 3.1 здесь нет, тут вообще папок нет никаких.. все данные заполняются через информационный блок, который находится дальше после файлов и папок.

в меню типа "top" лежит простой код
Код
<?
$aMenuLinks = Array(
);
?>


в файле .top.menu_ext.php идет добавление в основной массив разделы пункта 3
Код
<?
// дополнительный файл меню
// добавляет в основной массив меню разделы каталога
if (CModule::IncludeModule('iblock')) {

    $aMenuLinksNew = array();

    $rsSections = CIBlockSection::GetList(
        array('SORT' => 'ASC', 'NAME'=>'ASC'),
        array('IBLOCK_ID' => '22', 'ACTIVE_DATE' => 'Y', 'ACTIVE' => 'Y')
    );

    while ($arSection = $rsSections->Fetch())
    {
        $aMenuLinksNew[] = array(
            $arSection['NAME'],
            '/catalog/index.php?cID=' . $arSection['ID'],
            array(),
            array(),
            ''
        );
    }

    $aMenuLinks = array_merge($aMenuLinksNew, $aMenuLinks);

}
?>


Самое что интересное, во всех пунктах кроме 3 информация, которая отображается на сайте, написана в файле index.php что уже не совсем грамотно сделано..

Сижу, ломаю голову, что дальше делать с этим богатством??
Если надо то могу выложить коды файлов detail.php и index.php
ответил 14 Фев, 14 от Renex (180 баллов)
00 голосов
Цитата
Axel089 пишет:
Если надо то могу выложить коды файлов detail.php и index.php

не нафиг.
ну поменяли .top с .left местами, делов то.
Цитата
Axel089 пишет:
Самое что интересное, во всех пунктах кроме 3 информация, которая отображается на сайте, написана в файле index.php что уже не совсем грамотно сделано..

Это как раз правильно. так и делается с текстовыми страницами, иначе в index.php лежат компоненты которые обращаются к инфоблоками и берут информацию из них.
Цитата
Axel089 пишет:
в папке 3 лежит:
..
2) файл .top.menu_ext.php

Этот файл используют когда нужно построить меню не по файлам и подразделам в этой папки ,а по пунктам/ссылкам на подразделы (к примеру каталога) которые хранятся в виде дерева в инфоблоке (ИБ).
ответил 05 Июнь, 14 от Grimmi (2,560 баллов)
00 голосов
В итоге папки 3.1 нет, где мне создавать меню чтобы вставить раздел 3 уровня? и что в нем писать? в инфоблоке его не создать..
ответил 02 Окт, 14 от Renex (180 баллов)
00 голосов
Вариант 1-й идешь читать документацию по меню и вот таким файлам: ....menu_ext.php - после чего разбираешься как это сделано и правишь как тебе надо.
Вариант 2-й. В папке 3 - создаешь папку 3.1. В ней создаешь файл .top.menu.php и в нем указываешь ссылки на элементы своего инфоблока, файл же .top.menu_ext.php из папки 3 удаляешь
ответил 04 Фев, 15 от Grimmi (2,560 баллов)

Похожие вопросы

0 голосов
9 ответов
спросил 12 Май, 13 от Pecina (160 баллов)
0 голосов
2 ответов
спросил 12 Апр, 14 от Yann (220 баллов)
0 голосов
3 ответов
0 голосов
4 ответов
0 голосов
4 ответов