В принципе это стандартная возможность системы управления битрикс, но почему-то часто спрашивают как это сделать. Возможно в документации данный вопрос освещен не достаточно понятно. Постараюсь рассказать по простому, со скринами.
Пункты меню из разделов инфоблока Битрикс
Михаил Базаров: 09.12.2013 01:57:36
Пункты меню из разделов инфоблока Битрикс
В принципе это стандартная возможность системы управления битрикс, но почему-то часто спрашивают как это сделать. Возможно в документации данный вопрос освещен не достаточно понятно. Постараюсь рассказать по простому, со скринами. |
Гость сайта: 09.12.2013 01:57:36
В документации не так понятно.
http://dev.1c-bitrix.ru/user_help/settings/settings/components_2/navigation/menu_ Практически ни как в ней. |
Гость сайта: 09.12.2013 17:03:40
|
Михаил Базаров: 09.12.2013 18:15:18
|
Наталья: 05.02.2014 07:03:54
Вот после создания типа меню в управлении структурой - дальше идет непонятно. "И создаем в нужном каталоге сайта этот тип меню и рядом с ним создаем такой же файл с приставкой _ext.php." Между этими пунктами такое ощущение должно быть еще что-то.
|
Михаил Базаров: 05.02.2014 15:08:41
![]() |
Ильсур: 27.05.2014 08:06:03
Добрый день! Подскажите как вывести в меню только определенные разделы инфоблока?
|
Михаил Базаров: 27.05.2014 16:02:48
|
Леонид: 22.06.2014 13:34:36
Добрый вечер Михаил!
У меня такая ситуация. Сделал меню типа аккордион из инфоблока. Меню работает верно, все открывается, закрывается и т.д. Проблема такая. При нажатии на ссылку в меню, в #WORKAREA# выводится "bitrix:main.map". ![]() Скрин http://s018.radikal.ru/i515/1406/c8/0fee91dbcfb7.png [COLOR=#000080]Подскажите пожалуйста как сделать, чтоб при переходе в какой-либо раздел или товар открывалась страница с описанием раздела или товара.[/COLOR] |
Михаил Базаров: 22.06.2014 14:38:46
Конкретно:
|
Леонид: 22.06.2014 21:13:14
Сразу на это внимание не обратил. Все заработало) Спасибо огромное!
![]() |
Гость сайта: 07.07.2014 04:47:03
Добрый день. Не подскажите как добавить к пунктам меню количество элементов в данном разделе
|
Михаил Базаров: 07.07.2014 08:04:30
|
Алексей: 06.05.2015 02:57:24
Доброе время суток! Михаил, спасибо за уроки, ну очень помогли!!!!
Вот есть такая задача, как сделать чтобы leftmenu формировалось из названий инфоблоков (их множество ) а leftmenuchild формировалось из разделов этих инфоблоков. С последним пунктом я осилил по описанному методу(leftmenuchild ) Просто все находится в одном каталоге. Это делается по причине что в каждом инфоблоке необходим фильтр с определенными свойствами. ( Пример: свойство "длина кабеля ", для инфобл. "Переходники", мне не нужно отражать в фильтре, для инфоблока "платы телевизоров") |
Guest: 07.05.2015 06:16:55
Еще раз здрасте! Разобрался по последнему вопросу. Спасибо!
теперь все работает и создается как нужно. Затупка была в том что я создавал страницы для инфоблоков, а нужно было делать разделы. Как оказалось это ключевое условие. В каталоге разместил <тип меню.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:34:46
Добрый день, Михаил.
А как быть, если структура разделов у меня многоуровневая, а мне нужно вывести подменю только начиная с например 3 уровня? |
Михаил Базаров: 24.10.2015 19:24:23
|
Катя: 04.04.2016 06:38:40
Добрый день, Михаил.
Спасибо вам огромное за курс! Я сделала меню, как вы описали. Но в итоге у меня выходит ошибка: 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:10:04
|
Катя: 04.04.2016 13:13:57
![]() |
A A: 07.07.2016 08:29:43
Сделала меню по вашему способу, только делала пункты из разделов каталога. Все получилось. НО. Не могли бы вы рассказать, как сделать так, чтобы из пунктов разделов все-таки выпадало меню - список товаров раздела? Пожалуйста!
|
Андрей Шведюк: 02.11.2016 12:23:59
Добрый день!
Михаил, а есть ли возможность (и как ?) передавать картинки разделов инфоблока.в шаблон вывода меню? Интересует именно этот случай,.... когда формируем _ext меню . |
Михаил Базаров: 02.11.2016 14:25:07
|
A A: 10.11.2016 13:22:48
Вопрос по смежной теме: делаю меню из пунктов инфоблока (не разделов!). Использую файл *_ext.php со следующим кодом:
Вроде бы все работает - пункты меню ведут в пункты инфоблока, компонент Новости в соответствующем разделе инфоблок обрабатывает нормально. Но мне как-то не нравится, что дефолтный адрес был изменен - я никогда не видела подобной практики и боюсь, как бы это не породило каких-то скрытых проблем в будущем. Не могли бы вы прокомментировать это явление и, если можно, посоветовать, как делать меню из пунктов инфоблока экологично и грамотно. |
Михаил Базаров: 10.11.2016 15:46:34
|
Кирилл: 25.01.2017 17:57:10
Здравствуйте, Михаил! я, возможно, был невнимателен, но не понял: есть ли способ сделать первым уровнем меню не корень инфоблока, а один из его разделов?
|
Константин Нечаев: 12.03.2017 00:50:25
Здравствуйте. У меня два вопроса именно по меню, созданному из разделов инфоблока:
1. Как вывести изображение раздела в меню? 2. Как вывести детальную картинку раздела в меню? |
Михаил Базаров: 12.03.2017 11:22:36
|
Константин Нечаев: 29.03.2017 21:52:01
|
Станислав Мишин: 07.06.2017 20:39:32
Здравствуйте, Михаил!
Не совсем понятен механизм "вызова" файлом самого меню из файла "название_меню _ext.php" подпунктов меню из разделов инфоблока. Формально я понимаю как строится меню в php, только Как я правильно понимаю, в файле самого меню должен быть php-код? Просто в этой статье эта тема у вас не раскрыта... Может подскажете где эту информацию взять? Или подскажете как сделать. |
Михаил Базаров: 07.06.2017 22:56:28
Вот тут в видео, прямо по этой заметке наглядно http://camouf.ru/video/info_site/iblocks_inmenu.html |
Константин Логинов: 20.06.2017 20:24:50
Михаил спасибо за ваши уроки, все понятно и доступно. Подскажите пожалуйста (а лучше приведите пример скрипта) как сделать так, что бы в одном пункте меню выводилось несколько инфоблоков. Например: 4 инфоблока отображаются в одном пункте "Услуги". из них в подменю выводятся их разделы. Возможно ли это вообще в Битрикс. Заранее спасибо.
|
Михаил Базаров: 21.06.2017 10:31:35
Можно просто сделать 4 ext меню.
Либо способ сложнее: собрать 4 типа в один массив. Примерно так (за работоспособность не уверен, надо пробовать)
|
Nikita Androsov: 07.07.2017 17:24:42
день добрый.
а возможно сделать меню из свойств инфоблока ? или конкретно из свойств раздела инфоблока ? |
Последовательность Возвратная: 09.02.2018 19:48:12
Здравствуйте, Михаил! Благодарен вам за то, что вы делаете!
Подскажите, пожалуйста, как можно в раздел меню, в котором есть 4 подпункта (разделы инфоблока), добавить пятый пункт, но чтобы он не являлся разделом этого инфоблока, а был просто ссылкой с url-ом, который я пропишу? Спасибо! |
Михаил Базаров: 09.02.2018 19:59:25
Вот тут пример в живую https://camouf.ru/video/new_store/menus.html где-то в середине |
Последовательность Возвратная: 09.02.2018 21:29:50
В моем варианте нет чекбокса "Создать пункт меню"... https://yadi.sk/i/a6g5IJ273SFZ4x (если скрин не прикрепится) |
Михаил Базаров: 10.02.2018 00:23:02
Просто в ручную добавте
|
Последовательность Возвратная: 10.02.2018 09:54:49
Вот мой файл ext из нужного каталога, он немного отличается, поэтому я туплю, простите. Внизу две строчки - это я понимаю сборка ссылок, как мне туда добавить этот код, чтоб получился новый независимый подпункт меню?
|
Lu Sh: 04.03.2018 14:04:28
Добрый день! Михаил, благодарю вас за ваш труд и помощь новичкам!
Подскажите как осуществить такую задачу: Меню из разделов и подразделов инфоблока. Разделы должны быть на главной, при нажатии на раздел переходим на другую страницу, где: - только название раздела, по которому перешли и только его подразделы. Подразделы больше никуда не ведут у них ссылки-якоря. Есть ли в ваших уроках пример меню такого вида? Заранее благодарю. |
Михаил Базаров: 04.03.2018 15:00:15
|
dem: 08.07.2018 22:50:20
Михаил, возможно повторюсь...
Нужно скрыть из меню некоторые разделы (например с seo статьями). То есть раздел активный, но его не должно быть в меню. Как лучше реализовать? Пользовательское поле делать: отражать/не отражать в меню? |
Михаил Базаров: 09.07.2018 00:56:57
|
dem: 09.07.2018 01:26:38
|
Михаил Базаров: 09.07.2018 02:44:15
Что-то вроде (пишу быстро, там додумаете)
|
dem: 09.07.2018 10:25:20
|
Салман Курбанов: 01.08.2018 13:07:29
здраствуйте а как выделить пункт на странице которой находишься
|
Салман Курбанов: 01.08.2018 13:10:13
|
Михаил Базаров: 01.08.2018 13:10:48
Посмотрите как это сделано в типовом меню и по аналогии |
Салман Курбанов: 10.08.2018 10:24:02
|
olegrus: 21.02.2019 04:16:56
Михаил подскажите а как добавить произвольную свою ссылку в выпадающем меню с разделами из каталога
|
Михаил Базаров: 21.02.2019 10:26:06
$aMenuLinksExt - массив с разделами $aMenuLinks - массив с произвольными пунктами меню
|
Гость: 04.10.2022 02:17:09
Здравствуйте, стоит задача натянуть верстку. Нужно из компонента catalog.section.list, но проблема в том что, там всего 2 уровня и верстка без классов. А у меня прям сложная верстка и в этот компонент он не войдет. Возможно есть какие готовые нароботки для этих дел?
Верстку прикладываю (все верстку крепить не стал, но вид ее такой, лишние пункт удалил).
|
Михаил Базаров: 04.10.2022 13:56:05
Глубину уровня вложенности можно задать через параметр "TOP_DEPTH" Внутри, что бы натянуть верстку, можно использовать условие
|
Гость: 05.10.2022 08:34:58
|
Гость: 07.12.2022 10:29:52
Добрый день, подскажите пожалуйста, можно ли в меню вывести не разделы каталога, а характеристику товара причем множественную(один и тот же товар(запчасть) может подходить к разным моделям). И чтобы при ее выборе открывалась вторая характеристика , например имеющиеся размеры.
|
Михаил Базаров: 07.12.2022 11:36:33
В целом можно, но нужно будет модифицировать компонент через result_modifier.php |
Гость: 07.12.2022 17:23:50
|
Alex: 22.05.2023 07:55:25
Месяц знакомлюсь с битриксом. Сделал вывод: если есть возможность, то лучше не использовать эту "технологию". С меню мучаюсь уже неделю. Не могу сделать меню из разделов и элементов раздела. Если бы я использовал реакт или даже нативный php, то сделал бы это меню за несколько часов. Здесь же я мучаюсь. Такой тупей шей реализации еще не встречал!
|
Михаил Базаров: 22.05.2023 08:15:01
Да, для такого лучше использовать catalog.section.list - элементы можно добавить в массив, для вывода меню, через result_modifier.php Если есть время, совсем хорошо сделать свой компонент, что бы лишнее не тянуть. |
Гость: 28.09.2023 16:19:48
Михаил, А как сделать для лэндинга активными пункты меню с # и в пределах одной страницы?
|
Михаил Базаров: 28.09.2023 17:16:23
Так вот не смогу дать готовый код, но думаю только с помощью js
Проверять какой блок находится в зоне видимости и по id пункта меню добавлять ему нужный class То есть, грубо говоря, если блок с id="block1" сейчас по offset 0 от верха страницы, то добавить class="selected" для пункта меню с id="link_to_block1" |
Гость: 28.09.2023 17:34:02
Спасибо за ответ, Михаил ! Так и думал, что функционалом битрикса это не решить ...
|
Noob: 23.11.2023 13:13:27
Здравствуйте. Подскажите, данный метод еще актуален? Не получается добавить ни элементы, ни разделы в меню - ничего не происходит. Спасибо
|
Noob: 24.11.2023 05:07:42
Для меня сработал этот код:
Если честно, впервые столкнулся с Битрикс и .php Михаил, не могли бы вы объяснить разницу между Вашим решением и вышеприведённым? Спасибо * При внедрении Вашего решения неоднократно чистил кэш как в настройках Битрикс, так и через админпанель |
Noob: 24.11.2023 07:35:25
А возможно вывести картинку для анонса или детальное изображение (не важно) из каталога рядом с названием пункта меню? К примеру, чтобы слева от текста располагалось изображение?
Попробовал поменять код файла .тип_меню.menu_ext.php:
Код шаблона меню:
в массив $aMenuLinksExt, то меню ломается, вылезает ошибка. |
Михаил Базаров: 24.11.2023 10:54:12
Способ точно рабочий, но в вашем случае, раз уж все равно выводите и разделы и элементы (так понял из сообщений) проще воспользоваться компонентом catalog.section.list - он умеет выводить все данные разделов включя картинки.
А дополучить внутри них элементы уже дело техники - там не сложно. |
Гость: 24.02.2024 23:27:30
Добрый день,
как сделать для нескольких инфоблоков? |
Михаил Базаров: 24.02.2024 23:30:11
Нужно будет кастомизировать компонент bitrix:menu.sections Но лучше написать свой, который параметрами будет принимать нужны инфоблоки и собирать массив arResult в шаблон |
Гость: 15.05.2024 00:23:15
Благодарю за статью!
|
Виталий: 11.05.2025 21:25:56
Михаил здравствуйте. На странице новостей, в разделах новостей, в элементах - меню выводиться. А вот на главной почему то не получается вывести
|
1С-Битрикс на моем Boosty канале
Блог-note: заметки разработчика
Произвольные ссылки в элементе из свойства инфоблока
Задача: предоставить контент-менеджерам возможность добавлять произвольные ссылки внутри карточки товара. Управление ссы...
Дополнительные опции/услуги, добавляемые в корзину, в карточке товаров
Задача: в детальной карточке товара сделать возможность добавления услуги или опции, при добавлении товара в корзину.
Как работает система сертификации партнеров 1С-Битрикс, уровни партнеров и специалистов
Сертификация от «1С-Битрикс» – это объективная оценка знаний и практических навыков разработки проектов на платформе от ...
Ajax форма обратной связи, реализация в битрикс
Иногда, на сайте требуется создать форму обратной связи, которая будет писать все данные в инфоблок. Способов реализации...
Показать доступный остаток каждого товара в корзине 1С-Битрикс
Задача: показать остаток каждого товара в корзине 1С-Битрикс, что бы покупатель сразу знал предельное колличество товара...
Сортировать товары по названию, цене и свойствам в каталоге 1С-Битрикс
Задача: реализовать возможность сортировки товаров в разделах каталога. Сортировка должна работать с использованием AJAX...
Свойство: привязка к Яндекс:Картам - вывести из нескольких элементов на одну карту
Предположим, что у вас есть инфоблок со свойством "Привязка к яндекс картам". В этом инфоблоке некоторое количество элем...
Вывести разделы инфоблока в которых находится элемент Битрикс
Если нужно в карточке товара или новости, вывести структуру разделов в котором находится элемент. С одной стороны, это у...
Удалить товары из корзины, если есть определенные товары.
Задача: если в корзину добавлены товары с определенным свойством, нужно удалить из корзины, все другие товары- предупред...