Всем доброго времени суток :) Никак не пойму, где недосмотрел.
Задача: вывести в карточке товара список эл-тов инфоблока (каталога), ID которых записаны в свойстве товара. Мое решение выводит список всех элементов каталога:
[CODE]<?
$arOrder = Array("SORT"=>"ASC");
$arFilter = Array("IBLOCK_CODE" => "1c_catalog", "ID" => $arResult["PROPERTIES"]["ACCOMPANYING"]["VALUE"]);
// Этот фильтр скопирован из фильтра ниже.
$arGroupBy = false;
$arNavStartParams = false;
$arSelectFields = Array();
$rsElement = CIBlockElement::GetList($arOrder, $arFilter, $arGroupBy, $arNavStartParams, $arSelectFields);
while ($arElement = $rsElement->GetNext()) {
_c($arElement);
// Выводит в консоль 5 массивов.
}
if ($arResult["PROPERTIES"]["ACCOMPANYING"]["VALUE"]):
$arrAccompFilter = array("ID" => $arResult["PROPERTIES"]["ACCOMPANYING"]["VALUE"]);
?>
<?_c($arrAccompFilter);
// "ID": Array[5](
// 0: "id эл-та"
// 1: "id эл-та"
// 2: "id эл-та"
// 3: "id эл-та"
// 4: "id эл-та"
// )
?>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"accompanying",
Array(
"PRODUCT_DISPLAY_MODE" => "N",
"ADD_PICT_PROP" => "-",
"LABEL_PROP" => "-",
"OFFER_ADD_PICT_PROP" => "-",
"OFFER_TREE_PROPS" => array(0=>"-",),
"PRODUCT_SUBSCRIPTION" => "N",
"SHOW_DISCOUNT_PERCENT" => "N",
"SHOW_OLD_PRICE" => "Y",
"MESS_BTN_BUY" => "Купить",
"MESS_BTN_ADD_TO_BASKET" => "В корзину",
"MESS_BTN_SUBSCRIBE" => "Подписаться",
"MESS_BTN_DETAIL" => "Подробнее",
"MESS_NOT_AVAILABLE" => "Нет в наличии",
"AJAX_MODE" => "N",
"IBLOCK_TYPE" => "1c_catalog",
"IBLOCK_ID" => "13",
"SECTION_ID" => "",
"SECTION_CODE" => "",
"SECTION_USER_FIELDS" => "",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_ORDER" => "asc",
"ELEMENT_SORT_FIELD2" => "id",
"ELEMENT_SORT_ORDER2" => "desc",
"FILTER_NAME" => "arrAccompFilter",
"INCLUDE_SUBSECTIONS" => "Y",
"SHOW_ALL_WO_SECTION" => "Y",
"SECTION_URL" => "#SITE_DIR#/#SECTION_CODE#/",
"DETAIL_URL" => "#SITE_DIR#/#SECTION_CODE#/#ELEMENT_CODE#/",
"BASKET_URL" => "/personal/basket.php",
"ACTION_VARIABLE" => "action",
"PRODUCT_ID_VARIABLE" => "id",
"PRODUCT_QUANTITY_VARIABLE" => "quantity",
"PRODUCT_PROPS_VARIABLE" => "prop",
"SECTION_ID_VARIABLE" => "SECTION_ID",
"META_KEYWORDS" => "-",
"META_DESCRIPTION" => "-",
"BROWSER_TITLE" => "-",
"ADD_SECTIONS_CHAIN" => "N",
"DISPLAY_COMPARE" => "N",
"SET_TITLE" => "Y",
"SET_STATUS_404" => "N",
"PAGE_ELEMENT_COUNT" => "40",
"LINE_ELEMENT_COUNT" => "4",
"PROPERTY_CODE" => "",
"OFFERS_FIELD_CODE" => "",
"OFFERS_PROPERTY_CODE" => "",
"OFFERS_SORT_FIELD" => "sort",
"OFFERS_SORT_ORDER" => "asc",
"OFFERS_SORT_FIELD2" => "id",
"OFFERS_SORT_ORDER2" => "desc",
"OFFERS_LIMIT" => "5",
"PRICE_CODE" => "",
"USE_PRICE_COUNT" => "N",
"SHOW_PRICE_COUNT" => "1",
"PRICE_VAT_INCLUDE" => "Y",
"PRODUCT_PROPERTIES" => "",
"USE_PRODUCT_QUANTITY" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"PAGER_TEMPLATE" => ".default",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "N",
"PAGER_TITLE" => "Товары",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"HIDE_NOT_AVAILABLE" => "N",
"CONVERT_CURRENCY" => "N",
"OFFERS_CART_PROPERTIES" => "",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
)
);?>
<?endif;?>
[/CODE]
Задача: вывести в карточке товара список эл-тов инфоблока (каталога), ID которых записаны в свойстве товара. Мое решение выводит список всех элементов каталога:
[CODE]<?
$arOrder = Array("SORT"=>"ASC");
$arFilter = Array("IBLOCK_CODE" => "1c_catalog", "ID" => $arResult["PROPERTIES"]["ACCOMPANYING"]["VALUE"]);
// Этот фильтр скопирован из фильтра ниже.
$arGroupBy = false;
$arNavStartParams = false;
$arSelectFields = Array();
$rsElement = CIBlockElement::GetList($arOrder, $arFilter, $arGroupBy, $arNavStartParams, $arSelectFields);
while ($arElement = $rsElement->GetNext()) {
_c($arElement);
// Выводит в консоль 5 массивов.
}
if ($arResult["PROPERTIES"]["ACCOMPANYING"]["VALUE"]):
$arrAccompFilter = array("ID" => $arResult["PROPERTIES"]["ACCOMPANYING"]["VALUE"]);
?>
<?_c($arrAccompFilter);
// "ID": Array[5](
// 0: "id эл-та"
// 1: "id эл-та"
// 2: "id эл-та"
// 3: "id эл-та"
// 4: "id эл-та"
// )
?>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"accompanying",
Array(
"PRODUCT_DISPLAY_MODE" => "N",
"ADD_PICT_PROP" => "-",
"LABEL_PROP" => "-",
"OFFER_ADD_PICT_PROP" => "-",
"OFFER_TREE_PROPS" => array(0=>"-",),
"PRODUCT_SUBSCRIPTION" => "N",
"SHOW_DISCOUNT_PERCENT" => "N",
"SHOW_OLD_PRICE" => "Y",
"MESS_BTN_BUY" => "Купить",
"MESS_BTN_ADD_TO_BASKET" => "В корзину",
"MESS_BTN_SUBSCRIBE" => "Подписаться",
"MESS_BTN_DETAIL" => "Подробнее",
"MESS_NOT_AVAILABLE" => "Нет в наличии",
"AJAX_MODE" => "N",
"IBLOCK_TYPE" => "1c_catalog",
"IBLOCK_ID" => "13",
"SECTION_ID" => "",
"SECTION_CODE" => "",
"SECTION_USER_FIELDS" => "",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_ORDER" => "asc",
"ELEMENT_SORT_FIELD2" => "id",
"ELEMENT_SORT_ORDER2" => "desc",
"FILTER_NAME" => "arrAccompFilter",
"INCLUDE_SUBSECTIONS" => "Y",
"SHOW_ALL_WO_SECTION" => "Y",
"SECTION_URL" => "#SITE_DIR#/#SECTION_CODE#/",
"DETAIL_URL" => "#SITE_DIR#/#SECTION_CODE#/#ELEMENT_CODE#/",
"BASKET_URL" => "/personal/basket.php",
"ACTION_VARIABLE" => "action",
"PRODUCT_ID_VARIABLE" => "id",
"PRODUCT_QUANTITY_VARIABLE" => "quantity",
"PRODUCT_PROPS_VARIABLE" => "prop",
"SECTION_ID_VARIABLE" => "SECTION_ID",
"META_KEYWORDS" => "-",
"META_DESCRIPTION" => "-",
"BROWSER_TITLE" => "-",
"ADD_SECTIONS_CHAIN" => "N",
"DISPLAY_COMPARE" => "N",
"SET_TITLE" => "Y",
"SET_STATUS_404" => "N",
"PAGE_ELEMENT_COUNT" => "40",
"LINE_ELEMENT_COUNT" => "4",
"PROPERTY_CODE" => "",
"OFFERS_FIELD_CODE" => "",
"OFFERS_PROPERTY_CODE" => "",
"OFFERS_SORT_FIELD" => "sort",
"OFFERS_SORT_ORDER" => "asc",
"OFFERS_SORT_FIELD2" => "id",
"OFFERS_SORT_ORDER2" => "desc",
"OFFERS_LIMIT" => "5",
"PRICE_CODE" => "",
"USE_PRICE_COUNT" => "N",
"SHOW_PRICE_COUNT" => "1",
"PRICE_VAT_INCLUDE" => "Y",
"PRODUCT_PROPERTIES" => "",
"USE_PRODUCT_QUANTITY" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"PAGER_TEMPLATE" => ".default",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "N",
"PAGER_TITLE" => "Товары",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"HIDE_NOT_AVAILABLE" => "N",
"CONVERT_CURRENCY" => "N",
"OFFERS_CART_PROPERTIES" => "",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
)
);?>
<?endif;?>
[/CODE]