Потребуется внести изменения в код. Будьте внимательны и аккуратны!
|
---|
Сначала пропишем алгоритм действий. Затем покажем пример в видео.
<? // пример файла .left.menu_ext.php if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); global $APPLICATION; $aMenuLinksExt = $APPLICATION->IncludeComponent( "bitrix:menu.sections", "", Array( "ID" => $_REQUEST["ELEMENT_ID"], "IBLOCK_TYPE" => "books", "IBLOCK_ID" => "30", "SECTION_URL" => "/e-store/books/index.php?SECTION_ID=#ID#", "CACHE_TIME" => "3600" ) ); $aMenuLinks = array_merge($aMenuLinks, $aMenuLinksExt); ?>
Подробнее... для того, чтобы компонент меню обновлялся сразу при изменении данных. Рекомендуем отключать кеш в настройках самого компонента меню Материал о работе с компонентами Вы ещё не изучали. Если такая настройка покажется Вам сложной, можете вернуться к ней позже. Подробнее в уроке Как настроить компонент. ![]() В видеоролике эти действия показаны подробно на примере:
Будьте внимательны при замене пути к разделу в коде! Для основного сайта (сайта по умолчанию, обычно он называется s1) для параметра SECTION_URL достаточно скопировать содержимое поля URL страницы раздела из настроек инфоблока без
#SITE_DIR# . Например путь может выглядеть так (catalog - название раздела, как books в видео):
// без ЧПУ "SECTION_URL" => "/catalog/index.php?SECTION_ID=#ID#" //с ЧПУ "SECTION_URL" => "/catalog/#SECTION_CODE#/" Пути могут отличаться от указанных на вашем конкретном сайте. Всегда проверяйте пути в настройках. |
Примеры создания статического и динамического меню

Еще раз о разнице между статическим и динамическим меню
Давайте повторим: статическая информация - это папки (разделы) и файлы (страницы) в структуре сайта, динамическая информация - это
инфоблоки
Информационный блок (или Инфоблок) - специальный инструмент "1С-Битрикс: Управление сайтом" с помощью которого заносится информация в Базу данных.
Подробнее...
.
Значит, статическое меню:
- Использует файлы и папки из структуры сайта
- Пункты доступны для редактирования
- Файл .тип_меню.menu_ext.php не подключается
А динамическое меню:
- Основано на инфоблоке
- Его пункты не видны при редактировании
- В настройках компонента Компонент - это программный код, оформленный в визуальную оболочку, выполняющий определённую функцию какого-либо модуля по выводу данных в Публичной части. Мы можем вставлять этот блок кода на страницы сайта без непосредственного написания кода. Подробнее... указано использование файла .тип_меню.menu_ext.php
Как мы уже знаем из видео-ролика в предыдущем уроке, основное меню нашего сайта - динамическое, имеет горизонтальный шаблон, тип left
, наследуется всеми разделами сайта.
Создаем статическое меню
Разместим на нашем демо-сайте статическое меню:
- создаем новый раздел Мода;
- в административном разделе в папке
/moda
создаем пустой файл .left.menu_ext.php, чтобы основное динамическое меню не показывалось в нашем разделе; - в разделе Мода создаем и наполняем содержимым несколько страниц;
- статическое меню формируется автоматически, если при создании страниц будет отмечена опция "Добавить пункт меню";
- отключаем использование
кеша
Кеш - это некое хранилище для ускорения просмотра информации на сайте. Когда пользователь просматривает информацию на сайте, то она не всегда запрашивается из базы данных, а берется из кеша.
Подробнее... для того, чтобы компонент меню обновлялся сразу при изменении данных. Рекомендуем отключать кеш в настройках самого компонента меню Материал о работе с компонентами Вы ещё не изучали. Если такая настройка покажется Вам
сложной, можете вернуться к ней позже.
Подробнее в уроке Как настроить компонент., т.к. функция Не использовать кеш работает для всего сайта.
В результате мы получаем статическое меню в нашем разделе Мода, а на всех остальных страницах сайта по-прежнему работает основное динамическое меню.
Создаем динамическое меню
Существует несколько способов размещения на сайте динамического меню. Мы рассмотрим три, из них - два попроще, и один для опытных пользователей. Какой из этих способов выбрать - зависит от ваших потребностей и структуры сайта.
Например, если вы просто расширяете ассортимент продукции, продаваемой через сайт, и вам достаточно включить новую товарную группу в уже существующий перечень - используйте первый способ. Второй способ пригодится, если, к примеру, вы решили не только продавать товары, но и оказывать услуги. Для услуг вы заведете отдельный инфоблок (ведь параметры услуг не совпадают с характеристиками товаров) и продавать их будете в отдельном разделе. И третий способ - самый гибкий. Он позволяет использовать в качестве пунктов меню разделы любого инфоблока.
- Самый простой способ - добавить к каталогу демо-сайта свои разделы и подразделы. Они сразу автоматически добавятся в основное меню.
- Второй способ применяется, если нужно настроить меню на собственный инфоблок:
- добавляем инфоблок с его разделами и элементами
- в Публичной части создаем нужный раздел
- в визуальном редакторе размещаем в разделе компонент
Каталог
Комплексный компонент осуществляет вывод полного каталога товаров из определенного инфоблока.
Описание компонента «Каталог (комплексный компонент)» в пользовательской документации. для работы с инфоблоками - указываем в параметрах компонента наш созданный инфоблок в качестве источника данных
- в разделе сайта будет показан наш инфоблок в виде каталога с его собственным меню
Эти действия подробно показаны в видеоролике:
- Этим способом можно создать динамическое меню, основанное на произвольном инфоблоке. Но он предполагает изменения в коде. Поэтому рекомендуется только для самых опытных и "продвинутых" контент-менеджеров.
Посмотрите, как это сделать, в коротком видеоролике:
Документация по теме
и Ваше мнение важно для нас