В битриксе можно создавать файлы с меню, где явно прописываются пункты и ссылки к ним, а также можно создавать меню из разделов инфоблока, для этого к компоненту menu подключается файл типа *.menu_ext.php, а в нем вызывается компонент menu.sections. Но что делать, если нужно реализовать сложную логику создания элементов меню?
По большому счету, программное создание меню сводится к созданию своего массива с пунктами меню и объединения его с глобальным массивом меню в файле типа .тип_меню.menu_ext.php.
Итак, создаем файл .тип_меню.menu_ext.php для нашего типа меню и в нем пишем нечто такое:
$aMenuLinksExt = Array( Array( "Новая страница 1", "/test_menu/novaya_stranitsa_1.php", Array(), Array(// любые другие параметры, Которые потом доступны в ключе ['PARAMS'] в шаблоне компонента меню), "" ), Array( "Новая страница 2", "/test_menu/novaya_stranitsa_2.php", Array(), Array(// любые другие параметры, Которые потом доступны в ключе ['PARAMS'] в шаблоне компонента меню), "" ) ); $aMenuLinks = array_merge($aMenuLinks,$aMenuLinksExt);
Таким вот образом можно добавлять в меню разные дополнительные пункты
В качестве частного случая, можно привести добавление в меню разделов инфоблока:
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); global $APPLICATION; $aMenuLinksExt=$APPLICATION->IncludeComponent("bitrix:menu.sections", "", array( "IS_SEF" => "Y", "SEF_BASE_URL" => "/news/", // - каталог инфоблока на сайте "SECTION_PAGE_URL" => "#SECTION_ID#/", // подставляем ID раздела "DETAIL_PAGE_URL" => "#SECTION_ID#/#ELEMENT_ID#/", // - полный путь к элементу инфоблока "IBLOCK_TYPE" => "news", // ID типа инфоблока "IBLOCK_ID" => "1", // ID инфоблока "DEPTH_LEVEL" => "3", // уровень вложенности, этой цифрой можно выводить подразделы разделов если иерархия многоуровневая "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000" ), false ); $aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks);
Не забывайте, чтобы код, описанный в файле .тип_меню.menu_ext.php отработал, нужно в компоненте меню включить его подключение .
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.