В принципе это стандартная возможность системы управления битрикс, но почему-то часто спрашивают как это сделать. Возможно в документации данный вопрос освещен не достаточно понятно. Постараюсь рассказать по простому, со скринами.
Пункты меню из разделов инфоблока Битрикс
|
Михаил Базаров: 09.12.2013 01:00:00
Пункты меню из разделов инфоблока Битрикс
В принципе это стандартная возможность системы управления битрикс, но почему-то часто спрашивают как это сделать. Возможно в документации данный вопрос освещен не достаточно понятно. Постараюсь рассказать по простому, со скринами. |
|
Гость сайта: 09.12.2013 01:00:00
В документации не так понятно.
http://dev.1c-bitrix.ru/user_help/settings/settings/components_2/navigation/menu_ Практически ни как в ней. |
|
Гость сайта: 09.12.2013 05:00:00
|
|
Михаил Базаров: 09.12.2013 06:00:00
|
|
Наталья: 05.02.2014 07:00:00
Вот после создания типа меню в управлении структурой - дальше идет непонятно. "И создаем в нужном каталоге сайта этот тип меню и рядом с ним создаем такой же файл с приставкой _ext.php." Между этими пунктами такое ощущение должно быть еще что-то.
|
|
Михаил Базаров: 05.02.2014 03:00:00
|
|
Ильсур: 27.05.2014 08:00:00
Добрый день! Подскажите как вывести в меню только определенные разделы инфоблока?
|
|
Михаил Базаров: 27.05.2014 04:00:00
|
|
Леонид: 22.06.2014 01:00:00
Добрый вечер Михаил!
У меня такая ситуация. Сделал меню типа аккордион из инфоблока. Меню работает верно, все открывается, закрывается и т.д. Проблема такая. При нажатии на ссылку в меню, в #WORKAREA# выводится "bitrix:main.map". Скрин http://s018.radikal.ru/i515/1406/c8/0fee91dbcfb7.png [COLOR=#000080]Подскажите пожалуйста как сделать, чтоб при переходе в какой-либо раздел или товар открывалась страница с описанием раздела или товара.[/COLOR] |
|
Михаил Базаров: 22.06.2014 02:00:00
Конкретно:
|
|
Леонид: 22.06.2014 09:00:00
Сразу на это внимание не обратил. Все заработало) Спасибо огромное!
|
|
Гость сайта: 07.07.2014 04:00:00
Добрый день. Не подскажите как добавить к пунктам меню количество элементов в данном разделе
|
|
Михаил Базаров: 07.07.2014 08:00:00
|
|
Алексей: 06.05.2015 02:00:00
Доброе время суток! Михаил, спасибо за уроки, ну очень помогли!!!!
Вот есть такая задача, как сделать чтобы leftmenu формировалось из названий инфоблоков (их множество ) а leftmenuchild формировалось из разделов этих инфоблоков. С последним пунктом я осилил по описанному методу(leftmenuchild ) Просто все находится в одном каталоге. Это делается по причине что в каждом инфоблоке необходим фильтр с определенными свойствами. ( Пример: свойство "длина кабеля ", для инфобл. "Переходники", мне не нужно отражать в фильтре, для инфоблока "платы телевизоров") |
|
Guest: 07.05.2015 06:00:00
Еще раз здрасте! Разобрался по последнему вопросу. Спасибо!
теперь все работает и создается как нужно. Затупка была в том что я создавал страницы для инфоблоков, а нужно было делать разделы. Как оказалось это ключевое условие. В каталоге разместил <тип меню.menu.php> , <тип подменю.menu.php> и <тип подменю.menu_ext.php> теперь при создании контентной части она автоматом попадает в меню а так же автоматом создаются все подразделы разделов инфоблоков. <тип меню.menu.php> , <тип подменю.menu.php> и <тип подменю.menu_ext.php> необходимо размещать в корне каталога тогда все последующее добавленое будет включатся в меню в противном случае ваше меню будет работать только до того места в корень которого вы его разместите. Все остальные разделы и подразделы, которые находятся выше(старше, главнее, приарететнее и т.д.) не будут добовлятся в меню. Пример: Структура сайта: -Каталог | -Инфоблок товаров 1 | -Раздел 1 -Раздел 2 -Инфоблок товаров 2 | -Раздел 1 -Раздел 2 Если разместить <тип меню.menu.php> , <тип подменю.menu.php> и <тип подменю.menu_ext.php> в инфоблок товаров 2, то инфоблок товаров 1 и его разделы не будут отражатся в вашем меню. Михаил еще раз спасибо за уроки - они очень помогают! Надеюсь мое обьяснение будут понятно хотя бы таким как я! Подробный алгоритм действий смотрите в описании Михаила! |
|
Aleksandr: 20.10.2015 12:00:00
Добрый день, Михаил.
А как быть, если структура разделов у меня многоуровневая, а мне нужно вывести подменю только начиная с например 3 уровня? |
|
Михаил Базаров: 24.10.2015 07:00:00
|
|
Катя: 04.04.2016 06:00:00
Добрый день, Михаил.
Спасибо вам огромное за курс! Я сделала меню, как вы описали. Но в итоге у меня выходит ошибка: Fatal error: Call to a member function SetTitle() on null in/home/bitrix/www/katalog/.leftchild.menu_ext.phpon line 3 Не подскажете, что случилось? Заранее спасибо. |
|
Михаил Базаров: 04.04.2016 09:00:00
|
|
Катя: 04.04.2016 01:00:00
|
|
A A: 07.07.2016 08:00:00
Сделала меню по вашему способу, только делала пункты из разделов каталога. Все получилось. НО. Не могли бы вы рассказать, как сделать так, чтобы из пунктов разделов все-таки выпадало меню - список товаров раздела? Пожалуйста!
|
|
Андрей Шведюк: 02.11.2016 12:00:00
Добрый день!
Михаил, а есть ли возможность (и как ?) передавать картинки разделов инфоблока.в шаблон вывода меню? Интересует именно этот случай,.... когда формируем _ext меню . |
|
Михаил Базаров: 02.11.2016 02:00:00
|
|
A A: 10.11.2016 01:00:00
Вопрос по смежной теме: делаю меню из пунктов инфоблока (не разделов!). Использую файл *_ext.php со следующим кодом:
Вроде бы все работает - пункты меню ведут в пункты инфоблока, компонент Новости в соответствующем разделе инфоблок обрабатывает нормально. Но мне как-то не нравится, что дефолтный адрес был изменен - я никогда не видела подобной практики и боюсь, как бы это не породило каких-то скрытых проблем в будущем. Не могли бы вы прокомментировать это явление и, если можно, посоветовать, как делать меню из пунктов инфоблока экологично и грамотно. |
|
Михаил Базаров: 10.11.2016 03:00:00
|
|
Кирилл: 25.01.2017 05:00:00
Здравствуйте, Михаил! я, возможно, был невнимателен, но не понял: есть ли способ сделать первым уровнем меню не корень инфоблока, а один из его разделов?
|
|
Константин Нечаев: 12.03.2017 12:00:00
Здравствуйте. У меня два вопроса именно по меню, созданному из разделов инфоблока:
1. Как вывести изображение раздела в меню? 2. Как вывести детальную картинку раздела в меню? |
|
Михаил Базаров: 12.03.2017 11:00:00
|
|
Константин Нечаев: 29.03.2017 09:00:00
|
|
Станислав Мишин: 07.06.2017 08:00:00
Здравствуйте, Михаил!
Не совсем понятен механизм "вызова" файлом самого меню из файла "название_меню _ext.php" подпунктов меню из разделов инфоблока. Формально я понимаю как строится меню в php, только Как я правильно понимаю, в файле самого меню должен быть php-код? Просто в этой статье эта тема у вас не раскрыта... Может подскажете где эту информацию взять? Или подскажете как сделать. |
|
Михаил Базаров: 07.06.2017 10:00:00
Вот тут в видео, прямо по этой заметке наглядно http://camouf.ru/video/info_site/iblocks_inmenu.html |
|
Константин Логинов: 20.06.2017 08:00:00
Михаил спасибо за ваши уроки, все понятно и доступно. Подскажите пожалуйста (а лучше приведите пример скрипта) как сделать так, что бы в одном пункте меню выводилось несколько инфоблоков. Например: 4 инфоблока отображаются в одном пункте "Услуги". из них в подменю выводятся их разделы. Возможно ли это вообще в Битрикс. Заранее спасибо.
|
|
Михаил Базаров: 21.06.2017 10:00:00
Можно просто сделать 4 ext меню.
Либо способ сложнее: собрать 4 типа в один массив. Примерно так (за работоспособность не уверен, надо пробовать)
|
|
Nikita Androsov: 07.07.2017 05:00:00
день добрый.
а возможно сделать меню из свойств инфоблока ? или конкретно из свойств раздела инфоблока ? |
|
Последовательность Возвратная: 09.02.2018 07:00:00
Здравствуйте, Михаил! Благодарен вам за то, что вы делаете!
Подскажите, пожалуйста, как можно в раздел меню, в котором есть 4 подпункта (разделы инфоблока), добавить пятый пункт, но чтобы он не являлся разделом этого инфоблока, а был просто ссылкой с url-ом, который я пропишу? Спасибо! |
|
Михаил Базаров: 09.02.2018 07:00:00
Вот тут пример в живую https://camouf.ru/video/new_store/menus.html где-то в середине |
|
Последовательность Возвратная: 09.02.2018 09:00:00
В моем варианте нет чекбокса "Создать пункт меню"... https://yadi.sk/i/a6g5IJ273SFZ4x (если скрин не прикрепится) |
|
Михаил Базаров: 10.02.2018 12:00:00
Просто в ручную добавте
|
|
Последовательность Возвратная: 10.02.2018 09:00:00
Вот мой файл ext из нужного каталога, он немного отличается, поэтому я туплю, простите. Внизу две строчки - это я понимаю сборка ссылок, как мне туда добавить этот код, чтоб получился новый независимый подпункт меню?
|
|
Lu Sh: 04.03.2018 02:00:00
Добрый день! Михаил, благодарю вас за ваш труд и помощь новичкам!
Подскажите как осуществить такую задачу: Меню из разделов и подразделов инфоблока. Разделы должны быть на главной, при нажатии на раздел переходим на другую страницу, где: - только название раздела, по которому перешли и только его подразделы. Подразделы больше никуда не ведут у них ссылки-якоря. Есть ли в ваших уроках пример меню такого вида? Заранее благодарю. |
|
Михаил Базаров: 04.03.2018 03:00:00
|
|
dem: 08.07.2018 10:00:00
Михаил, возможно повторюсь...
Нужно скрыть из меню некоторые разделы (например с seo статьями). То есть раздел активный, но его не должно быть в меню. Как лучше реализовать? Пользовательское поле делать: отражать/не отражать в меню? |
|
Михаил Базаров: 09.07.2018 12:00:00
|
|
dem: 09.07.2018 01:00:00
|
|
Михаил Базаров: 09.07.2018 02:00:00
Что-то вроде (пишу быстро, там додумаете)
|
|
dem: 09.07.2018 10:00:00
|
|
Салман Курбанов: 01.08.2018 01:00:00
здраствуйте а как выделить пункт на странице которой находишься
|
|
Салман Курбанов: 01.08.2018 01:00:00
|
|
Михаил Базаров: 01.08.2018 01:00:00
Посмотрите как это сделано в типовом меню и по аналогии |
|
Салман Курбанов: 10.08.2018 10:00:00
|
|
olegrus: 21.02.2019 04:00:00
Михаил подскажите а как добавить произвольную свою ссылку в выпадающем меню с разделами из каталога
|
|
Михаил Базаров: 21.02.2019 10:00:00
$aMenuLinksExt - массив с разделами $aMenuLinks - массив с произвольными пунктами меню
|
|
Гость: 04.10.2022 02:00:00
Здравствуйте, стоит задача натянуть верстку. Нужно из компонента catalog.section.list, но проблема в том что, там всего 2 уровня и верстка без классов. А у меня прям сложная верстка и в этот компонент он не войдет. Возможно есть какие готовые нароботки для этих дел?
Верстку прикладываю (все верстку крепить не стал, но вид ее такой, лишние пункт удалил).
|
|
Михаил Базаров: 04.10.2022 01:00:00
Глубину уровня вложенности можно задать через параметр "TOP_DEPTH" Внутри, что бы натянуть верстку, можно использовать условие
|
|
Гость: 05.10.2022 08:00:00
|
|
Гость: 07.12.2022 10:00:00
Добрый день, подскажите пожалуйста, можно ли в меню вывести не разделы каталога, а характеристику товара причем множественную(один и тот же товар(запчасть) может подходить к разным моделям). И чтобы при ее выборе открывалась вторая характеристика , например имеющиеся размеры.
|
|
Михаил Базаров: 07.12.2022 11:00:00
В целом можно, но нужно будет модифицировать компонент через result_modifier.php |
|
Гость: 07.12.2022 05:00:00
|
|
Alex: 22.05.2023 07:00:00
Месяц знакомлюсь с битриксом. Сделал вывод: если есть возможность, то лучше не использовать эту "технологию". С меню мучаюсь уже неделю. Не могу сделать меню из разделов и элементов раздела. Если бы я использовал реакт или даже нативный php, то сделал бы это меню за несколько часов. Здесь же я мучаюсь. Такой тупей шей реализации еще не встречал!
|
|
Михаил Базаров: 22.05.2023 08:00:00
Да, для такого лучше использовать catalog.section.list - элементы можно добавить в массив, для вывода меню, через result_modifier.php Если есть время, совсем хорошо сделать свой компонент, что бы лишнее не тянуть. |
|
Гость: 28.09.2023 04:00:00
Михаил, А как сделать для лэндинга активными пункты меню с # и в пределах одной страницы?
|
|
Михаил Базаров: 28.09.2023 05:00:00
Так вот не смогу дать готовый код, но думаю только с помощью js
Проверять какой блок находится в зоне видимости и по id пункта меню добавлять ему нужный class То есть, грубо говоря, если блок с id="block1" сейчас по offset 0 от верха страницы, то добавить class="selected" для пункта меню с id="link_to_block1" |
|
Гость: 28.09.2023 05:00:00
Спасибо за ответ, Михаил ! Так и думал, что функционалом битрикса это не решить ...
|
|
Noob: 23.11.2023 01:00:00
Здравствуйте. Подскажите, данный метод еще актуален? Не получается добавить ни элементы, ни разделы в меню - ничего не происходит. Спасибо
|
|
Noob: 24.11.2023 05:00:00
Для меня сработал этот код:
Если честно, впервые столкнулся с Битрикс и .php Михаил, не могли бы вы объяснить разницу между Вашим решением и вышеприведённым? Спасибо * При внедрении Вашего решения неоднократно чистил кэш как в настройках Битрикс, так и через админпанель |
|
Noob: 24.11.2023 07:00:00
А возможно вывести картинку для анонса или детальное изображение (не важно) из каталога рядом с названием пункта меню? К примеру, чтобы слева от текста располагалось изображение?
Попробовал поменять код файла .тип_меню.menu_ext.php:
Код шаблона меню:
в массив $aMenuLinksExt, то меню ломается, вылезает ошибка. |
|
Михаил Базаров: 24.11.2023 10:00:00
Способ точно рабочий, но в вашем случае, раз уж все равно выводите и разделы и элементы (так понял из сообщений) проще воспользоваться компонентом catalog.section.list - он умеет выводить все данные разделов включя картинки.
А дополучить внутри них элементы уже дело техники - там не сложно. |
|
Гость: 24.02.2024 11:00:00
Добрый день,
как сделать для нескольких инфоблоков? |
|
Михаил Базаров: 24.02.2024 11:00:00
Нужно будет кастомизировать компонент bitrix:menu.sections Но лучше написать свой, который параметрами будет принимать нужны инфоблоки и собирать массив arResult в шаблон |
|
Гость: 15.05.2024 12:00:00
Благодарю за статью!
|
|
Виталий: 11.05.2025 09:00:00
Михаил здравствуйте. На странице новостей, в разделах новостей, в элементах - меню выводиться. А вот на главной почему то не получается вывести
|
Блог-note Заметки по 1С-Битрикс
-
Пункты меню из разделов инфоблока Битрикс
В принципе это стандартная возможность системы управления битрикс, но почему-то часто спрашивают как это сделать. Возможно в документации данный вопро...
-
Автоматическая загрузка каталогов из csv файлов в Битрикс
Если требуется настроить автоматический импорт каталогов из csv файлов, от поставщиков. В 1С-Битрикс, уже есть весь необходимый функционал. Требуетс...
-
E-mail вместо логина при регистрации и оформлении заказа в 1C-Битрикс
Задача: при регистрации нового пользователя и оформлении заказа нужно убрать поле Логин и использовать электронную почту вместо него. При этом без зах...
-
Установка вебсервера на Apple Silicon (нативный ARM стек), оптимизированный для 1С-Битрикс.
Появилась задачка, установить стек MAMP (macOS, Apache, MYSQL, PHP) на рабочий ноутбук с процессором Apple Silicon M1. В принципе, под macOs уже е сть...
-
Запретить изменения описаний товаров при выгрузке из 1С УТ на сайт
При разработке сайтов на Битрикс, с интеграцией с 1С Управление Тороговлей, нужно запретить изменения полей при обмене. В частности, детальное описани...
-
Добавить свойство в административную форму заказа
Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку формы, в виде картинки. На сайте, при оформлении заказ пользов...