Речь пойдет о том, как создавать сложные меню и выводить их в шаблоне. Так же добавим немного динамичности с помощью Cron'а
Собственно создаем файл с любым именем и подключаем пролог сайта
define('STOP_STATISTICS', true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$GLOBALS['APPLICATION']->RestartBuffer();
Ядро подключено. далее подключаем те модули, которые будут необходимы для генерации самого меню. Например - модуль sale и iblock use Bitrix\Main\Loader;
Loader::includeModule("iblock");
Loader::includeModule("sale");
Всё, дальше пишем логику формирования массивов, с которыми будем работать, например выборку разделов с инфоблока $arFilter = Array('IBLOCK_ID'=>$iblock_id, "DEPTH_LEVEL" => 1);
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, true, array('IBLOCK_ID',"NAME","ID","CODE"));
while($arSection = $db_list->GetNext())
{
//формируем массивы данных
}
Далее все собранные массивы необходимо перебрать, с