Т.е. смотрите - вы делаете запрос c фильтром по коду последнего токена в CIBlockSection::GetList и получаете массив разделов - он там может быть вообще один, а может быть штук 5 (у вас же не уникальные коды) или даже не одного - если не одного - ок - вы тогда проверяете элементы с таким кодом, но если все же массив, то перебираете его и проверяете сотвествует ли SECTION_PAGE_URL (он должен быть в селекте) вашему текущему URL и выбираете тот раздел каталога, чей SECTION_PAGE_URL совпал с текущим, а если не совпал (т.е. такого раздела нет) - опять же переходите к поиску элемента с таким кодом.
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?if (!empty($arResult)):?>
<select id="vertical-multilevel-menu" Onchange="top.location=this.value">
<?
$previousLevel = 0;
foreach($arResult as $arItem):?>
<?if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):?>
<?=str_repeat("</select></option>", ($previousLevel - $arItem["DEPTH_LEVEL"]));?>
<?endif?>
<?if ($arItem["IS_PARENT"]):?>
<?if ($arItem["DEPTH_LEVEL"] == 1):?>
<option value="<?=$arItem["LINK"]?>" class="<?if ($arItem["SELECTED"]):?>root-item-selected<?else:?>root-item<?endif?>"><?=$arItem["TEXT"]?></option>
<ul class="root-item">
<?else:?>
<option value="<?=$arItem["LINK"]?>" class="parent<?if ($arItem["SELECTED"]):?> item-selected<?endif?>"><?=$arItem["TEXT"]?></option>
<ul>
<?endif?>
<?else:?>
<?if ($arItem["PERMISSION"] > "D"):?>
<?if ($arItem["DEPTH_LEVEL"] == 1):?>
<option value="<?=$arItem["LINK"]?>" class="<?if ($arItem["SELECTED"]):?>root-item-selected<?endif?>"><?=$arItem["TEXT"]?></option>
<?else:?>
<option value="<?=$arItem["LINK"]?>" <?if ($arItem["SELECTED"]):?> class="item-selected"<?endif?> selected ><?=$arItem["TEXT"]?></option>
<?endif?>
<?else:?>
<?if ($arItem["DEPTH_LEVEL"] == 1):?>
<li><a href="" class="<?if ($arItem["SELECTED"]):?>root-item-selected<?else:?>root-item<?endif?>" title="<?=GetMessage("MENU_ITEM_ACCESS_DENIED")?>"><?=$arItem["TEXT"]?></a></li>
<?else:?>
<li><a href="" class="denied" title="<?=GetMessage("MENU_ITEM_ACCESS_DENIED")?>"><?=$arItem["TEXT"]?></a></li>
<?endif?>
<?endif?>
<?endif?>
<?$previousLevel = $arItem["DEPTH_LEVEL"];?>
<?endforeach?>
<?if ($previousLevel > 1)://close last item tags?>
<?=str_repeat("</option></select>", ($previousLevel-1) );?>
<?endif?>
</select>
<?endif?>
<select id="ul" onchange="top.location=this.value">
<?foreach($arResult["MENU_STRUCTURE"] as $itemID => $arColumns):?> <!-- first level-->
<option value="<?=$arResult["ALL_ITEMS"][$itemID]["LINK"]?>"><?=$arResult["ALL_ITEMS"][$itemID]["TEXT"]?></option>
<?endforeach;?>
</select>
<?if ($arItem["DEPTH_LEVEL"] == 1):?>
<option value="<?=$arItem["LINK"]?>" class="<?if ($arItem["SELECTED"]):?>root-item-selected<?else:?>root-item<?endif?>"><?=$arItem["TEXT"]?></option>
<?else:?>
<option value="<?=$arItem["LINK"]?>" <?if ($arItem["SELECTED"]):?> class="item-selected"<?endif?>><?=$arItem["TEXT"]?></option>
<?endif?>
$silka = $APPLICATION->GetCurDir();
, ее начало <?
- такое? <if $silka == "<?=$arResult["ALL_ITEMS"][$itemID]["LINK"]?>
- тут само собой вопрос, как оформить эту переменную, потмоу что эта взята прямо из кода компонента и она там таким образом отображается. И есть ли знаки перед и после $silka
, то есть ковычки или одинарные ковычки.<select id="ul_<?=$menuBlockId?>" onchange="top.location=this.value">
<?foreach($arResult["MENU_STRUCTURE"] as $itemID => $arColumns):?> <!-- first level-->
<option value="<?=$arResult["ALL_ITEMS"][$itemID]["LINK"]?>"><?=$arResult["ALL_ITEMS"][$itemID]["TEXT"]?></option>
<?endforeach;?>
</select>
я не обладаю такими знаниями, по крайней мере пока, но я думаю, что или я не так объянил или есть решение проще. У меня комплексный компонент и передавать символьный код не думаю что нужно, нужно просто ввести некий код, который в качестве SECTION_ID будет постоянно выдавать мне ID текущего раздела.
Нашел такой вот код:
$arResult["VARIABLES"]["SECTION_ID"]
, пишут что его надо распечатать, насколько я понимаю, что это print_r, но не пойму куда его вставить и во что обернуть.и вот такой код:
Это вставка включаемой области в каждый раздел каталога, вывести его в шаблон. Неужели нет более простого такого приложения, которое бы просто высвечивало ID раздела в шаблоне.
При этом всем мне не визуальная оставляющая нужна, а ID для формирования ссылки.
В общем путаница у меня какая-то с этим пока