Не получается фильтровать включенные в таб разделы
Подскажите, пожалуйста, что дальше делать
В компонет prev.filter.furniture добавил новые параметры компонета
DOPSECTIONS
DOPSECTION_n где n - это номер раздела
<?
$arComponentParametersP = array(
"DOPSECTIONS" => array(
"PARENT" => "BASE",
"NAME" => "Дополнительные вкладки",
"TYPE" => "TEXT",
"ADDITIONAL_VALUES" => "Y",
// "VALUES" => [],
"REFRESH" => "Y",
"MULTIPLE" => "Y"
),
);
if($arCurrentValues["IBLOCK_ID"])
{
$arSectionParams = array();
$arFilter = array('IBLOCK_ID' => $arCurrentValues["IBLOCK_ID"],'<=DEPTH_LEVEL' => 3,"ACTIVE" => "Y" );
$rsSect = CIBlockSection::GetList(array(),$arFilter);
while ($arSect = $rsSect->GetNext())
{
if($arSectionParams[$arSect['IBLOCK_SECTION_ID']])
{
$arSect['NAME'] = "(".$arSectionParams[$arSect['IBLOCK_SECTION_ID']].') '.$arSect['NAME'];
}
$arSectionParams[$arSect['ID']] = $arSect['NAME'];
}
$arSKU = CCatalogSku::GetInfoByProductIBlock($arCurrentValues['IBLOCK_ID']);
$boolSKU = !empty($arSKU) && is_array($arSKU);
$arIdsIblocv = [$arCurrentValues["IBLOCK_ID"]];
if ($boolSKU)
{
$arIdsIblocv[] = $arSKU['IBLOCK_ID'];
}
$arComponentParametersP['PARAMETERS']["PARENT_SECTION"] =
[
"PARENT" => "BASE",
"NAME" => GetMessage("K_SECTION_SHOW"),
"TYPE" => "LIST",
"VALUES" => $arSectionParams,
"MULTIPLE" =>"Y",
"SIZE" => "20",
"REFRESH" => "Y",
"DEFAULT" => ''
];
$propertiesF = \Bitrix\Iblock\SectionPropertyTable::getList(array(
"select" => array(
"IBLOCK_ID",
"PROPERTY_ID",
"TYPE_PROPERTY" => "PROPERTY.PROPERTY_TYPE",
"PROPERTY_NAME"=>"PROPERTY.NAME",
"PROPERTY_CODE"=>"PROPERTY.CODE",
"PROPERTY_IBLOCK_ID"=>"PROPERTY.IBLOCK_ID",
"PROPERTYLINK_IBLOCK_ID"=>"PROPERTY.LINK_IBLOCK_ID",
"PROPERTY_USER_TYPE_SETTINGS" => "PROPERTY.USER_TYPE_SETTINGS"
),
"filter" => array(
"=IBLOCK_ID" => $arIdsIblocv,
"SECTION_ID" => 0,
// "=PROPERTY_ID" => $arProp['ID'],
"=SMART_FILTER" => "Y",
// "PROPERTY.PROPERTY_TYPE" => ['L',"E","S"]
),
'order' => ['PROPERTY.IBLOCK_ID' => 'asc']
));
$arPFilter = [];
$arPFilterAll = [
"---"
];
while ($p = $propertiesF->fetch())
{
$type = 'catalog';
if($p['PROPERTY_IBLOCK_ID'] == $arSKU['IBLOCK_ID'] && $boolSKU)
{
$type = 'sku';
}
$arPFilterAll[$p['PROPERTY_CODE']."|".$p['PROPERTY_IBLOCK_ID']] = $p['PROPERTY_NAME'].' - '.$type;
}
}
if($arCurrentValues["PARENT_SECTION"] && is_array($arCurrentValues["PARENT_SECTION"]))
{
foreach ($arCurrentValues["PARENT_SECTION"] as $section)
{
$arComponentParametersP['GROUPS']["PARENT_SECTION_".$section] = [
"NAME" => $arSectionParams[$section],
];
$arComponentParametersP['PARAMETERS']["DOPSECTION_".$section] = [
"PARENT" => "PARENT_SECTION_".$section,
"NAME" => "Выбрать доп раздел",
"DEFAULT" => '',
"TYPE" => "LIST",
"VALUES" => $arCurrentValues["DOPSECTIONS"],
];
$arComponentParametersP['PARAMETERS']["NAME_SECTION_".$section] = [
"PARENT" => "PARENT_SECTION_".$section,
"NAME" => GetMessage("K_SECTION_NAME"),
"DEFAULT" => ''
];
$arComponentParametersP['PARAMETERS']["SORT_SECTION_".$section] = [
"PARENT" => "PARENT_SECTION_".$section,
"NAME" => GetMessage("K_SECTION_SORT"),
"DEFAULT" => '100'
];
foreach (range(1,5) as $k)
{
$arComponentParametersP['PARAMETERS']["PROP_{$k}_SECTION_".$section] = [
"PARENT" => "PARENT_SECTION_".$section,
"NAME" => GetMessage("K_SECTION_PROP"). " #".$k,
"DEFAULT" => '',
"TYPE" => "LIST",
"VALUES" => $arPFilterAll,
];
}
}
}
$arComponentParameters = $arComponentParametersP;
?>
?>
if ($arResult['AJAX_CURRENT_SECTION']) {
foreach ($arResult['SECTION_TABS'] as $section) {
if ($section['ID'] == $arResult['AJAX_CURRENT_SECTION']) {
$first = $section;
continue;
}
}
} else {
$first = current($arResult['SECTION_TABS']);
}
?>
<?global $USER;
if ($USER->IsAdmin())
{
var_dump($arResult['DOPESECTION_TABS']);
}
?>
<div id="prev_filter_wrp" class="w1200">
<div class="prev_filter_wrapper">
<? if ($arParams['TITLE_BLOCK']) : ?>
<div class="prev-filter-title">
<div class="prev-filter-title_img">
<img width="148px" height="80px" src="<?= $componentPath ?>/images/prev-filter-bg.png" class="lazy-img" data-src="<?= $componentPath ?>/images/prev-filter-bg.png" alt="">
</div>
<div class="prev-filter-title_title">
<?= $arParams['TITLE_BLOCK'] ?>
</div>
</div>
<? endif; ?>
<div class="prev_filter_content">
<div id="prev_filter_cats" class="prev_filter_cats">
<ul>
<li><a href="#!" class="active">Для персонала</a></li>
<li><a href="#!">Для руководителя</a></li>
</ul>
</div>
<div id="prev_filter_tabs" class="prev-tabs">
<ul>
<? if ($arParams['DOPSECTIONS'] == "Y") : ?>
<? foreach ($arResult['DOPESECTION_TABS'] as $section) : ?>
<li>
<a class="<?= $section['ID'] == $first['ID'] ? "active" : "" ?>" data-id="<?= $section['ID'] ?>" href="javascript:void(0);"><?= $section['NAME'] ?></a>
</li>
<? endforeach; ?>
<? endif; ?>
</ul>
</div>
<? if ($first) : ?>
<div id="prev_filter_filter">
<?
$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
"prev.filter",
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => $first['ID'],
"FILTER_NAME" => $arParams["FILTER_NAME"],
"PRICE_CODE" => $arParams["PRICE_CODE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SAVE_IN_SESSION" => "N",
"FILTER_VIEW_MODE" => 'HORIZONTAL',
"XML_EXPORT" => "N",
"SECTION_TITLE" => "NAME",
"SECTION_DESCRIPTION" => "DESCRIPTION",
'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
"TEMPLATE_THEME" => $arParams["TEMPLATE_THEME"],
'CONVERT_CURRENCY' => $arParams['CONVERT_CURRENCY'],
'CURRENCY_ID' => $arParams['CURRENCY_ID'],
"SEF_MODE" => $arParams["SEF_MODE"],
"SEF_RULE" => $arParams['FOLDER'] . $arParams["SEF_RULE"],
"SMART_FILTER_PATH" => $arResult["VARIABLES"]["SMART_FILTER_PATH"],
"PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"],
"INSTANT_RELOAD" => $arParams["INSTANT_RELOAD"],
"SHOW_PROP" => $first['PROPS'],
"DISPLAY_ELEMENT_COUNT" => "N",
"BTN_TEXT" => $arParams['BTN_TEXT'],
"SHOW_PROP" => $first['PROPS'],
"DISPLAY_ELEMENT_COUNT" => "N",
"BTN_TEXT" => $arParams['BTN_TEXT'],
"DOPSECTIONS" => "Y",
"DOPSECTION_IDS" => array(1016,577,990),
),
$component,
array('HIDE_ICONS' => 'Y')
);
?>
</div>
</div>
</div>
</div>
<script>
PrevFilter.signedParameters = '<?= $this->getComponent()->getSignedParameters() ?>';
PrevFilter.singnetSectios = '<?= $component->createSignetSection() ?>';
</script>
<? endif; ?>
Нужно выводить доп вкладки в компоненте из этих настроек
При переключение таба показывать только те разделы которые включены в таб