У меня тоже возникла такая проблема. Решил ее следующим образом.
Делаем файл .left.menu_ext.php или на позиицию, где должно быть меню, инклюдим любой php файл, в котором находится компонент bitrix:catalog.section.
Вот так:
[CODE]<?$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"number_menu",
Array(
"IBLOCK_TYPE" => "materials",
"IBLOCK_ID" => "51",
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_CODE" => "",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_ORDER" => "asc",
"FILTER_NAME" => "arrFilter",
"INCLUDE_SUBSECTIONS" => "N",
"SHOW_ALL_WO_SECTION" => "N",
"PAGE_ELEMENT_COUNT" => "30",
"LINE_ELEMENT_COUNT" => "1",
"PROPERTY_CODE" => array(0=>"MENU_ITEM",1=>"",),
"SECTION_URL" => "",
"DETAIL_URL" => "",
"BASKET_URL" => "/personal/basket.php",
"ACTION_VARIABLE" => "action",
"PRODUCT_ID_VARIABLE" => "id",
"SECTION_ID_VARIABLE" => "SECTION_ID",
"AJAX_MODE" => "N",
"AJAX_OPTION_SHADOW" => "Y",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "Y",
"CACHE_TIME" => "3600",
"META_KEYWORDS" => "-",
"META_DESCRIPTION" => "-",
"BROWSER_TITLE" => "-",
"DISPLAY_PANEL" => "N",
"ADD_SECTIONS_CHAIN" => "N",
"DISPLAY_COMPARE" => "N",
"SET_TITLE" => "Y",
"SET_STATUS_404" => "N",
"CACHE_FILTER" => "N",
"PRICE_CODE" => array(),
"USE_PRICE_COUNT" => "N",
"SHOW_PRICE_COUNT" => "1",
"PRICE_VAT_INCLUDE" => "Y",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "N",
"PAGER_TITLE" => "Статьи",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => "",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"AJAX_OPTION_ADDITIONAL" => ""
)
);?>[/CODE]
Настройки компонента позволяют задать сортировку пунктов меню.
Компонент должен быть кастомизирован (скопируйте его в шаблон) путем отрезания всего лишнего. Вот так:
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<?foreach($arResult["ITEMS"] as $arElement):?>
<tr>
<?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<td valign="top" style="padding:5;" width="100%">
<?if(is_array($arProperty["DISPLAY_VALUE"])):?>
<?echo implode(" / ", $arProperty["DISPLAY_VALUE"]);?>
<?else:?>
<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?echo $arProperty["DISPLAY_VALUE"];?></a>
<?endif;?>
</td>
<?endforeach?>
</tr>
<?endforeach;?>
</table>
[/CODE]
Важно: без части кода
[CODE]<?if(is_array($arProperty["DISPLAY_VALUE"])):?>
<?echo implode(" / ", $arProperty["DISPLAY_VALUE"]);?>
<?else:?>[/CODE]
вся конструкция перестает работать вообще.
Еще важно. На странизу нужно передавать идентификатор раздела любым стандартным путем. Например, /index.php&SECTION_ID=#SECTION_ID# или при человекопонятных ссылках /#SECTION_ID#/
Все работает.