Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Список связанных элементов

00 голосов
1
Есть два каталога: "Каталог товаров" и "Каталог предложений".
У "Каталога предложений" есть свойство "Основной товар" ссылка на товар из "Каталог товаров".
Создал страницу:

Код
<?
// Каталог товаров
$APPLICATION->IncludeComponent(
   "bitrix:catalog",
   ".default",
   Array(
      "AJAX_MODE" => "N",
      "SEF_MODE" => "Y",
      "IBLOCK_TYPE" => "catalog",
      "IBLOCK_ID" => "4",
      "USE_FILTER" => "N",
      "USE_REVIEW" => "N",
      "USE_COMPARE" => "N",
      "SHOW_TOP_ELEMENTS" => "Y",
      "PAGE_ELEMENT_COUNT" => "30",
      "LINE_ELEMENT_COUNT" => "3",
      "ELEMENT_SORT_FIELD" => "sort",
      "ELEMENT_SORT_ORDER" => "asc",
      "LIST_PROPERTY_CODE" => array("APPOINTMENT","APPOINTMENT"),
      "INCLUDE_SUBSECTIONS" => "Y",
      "LIST_BROWSER_TITLE" => "-",
      "DETAIL_PROPERTY_CODE" => array("APPOINTMENT","FAMILY","AROMAS"),
      "DETAIL_BROWSER_TITLE" => "-",
      "BASKET_URL" => "/personal/cart/",
      "ACTION_VARIABLE" => "action",
      "PRODUCT_ID_VARIABLE" => "id",
      "SECTION_ID_VARIABLE" => "SECTION_ID",
      "CACHE_TYPE" => "A",
      "CACHE_TIME" => "36000000",
      "CACHE_FILTER" => "N",
      "CACHE_GROUPS" => "Y",
      "SET_TITLE" => "Y",
      "SET_STATUS_404" => "N",
      "PRICE_CODE" => array(),
      "USE_PRICE_COUNT" => "N",
      "SHOW_PRICE_COUNT" => "1",
      "PRICE_VAT_INCLUDE" => "Y",
      "PRICE_VAT_SHOW_VALUE" => "N",
      "LINK_IBLOCK_TYPE" => "catalog",
      "LINK_IBLOCK_ID" => "8",
      "LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#",
      "USE_ALSO_BUY" => "N",
      "DISPLAY_TOP_PAGER" => "N",
      "DISPLAY_BOTTOM_PAGER" => "Y",
      "PAGER_TITLE" => "Товары",
      "PAGER_SHOW_ALWAYS" => "N",
      "PAGER_TEMPLATE" => "",
      "PAGER_DESC_NUMBERING" => "N",
      "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
      "PAGER_SHOW_ALL" => "Y",
      "TOP_ELEMENT_COUNT" => "9",
      "TOP_LINE_ELEMENT_COUNT" => "3",
      "TOP_ELEMENT_SORT_FIELD" => "sort",
      "TOP_ELEMENT_SORT_ORDER" => "asc",
      "TOP_PROPERTY_CODE" => array("APPOINTMENT","APPOINTMENT"),
      "AJAX_OPTION_SHADOW" => "Y",
      "AJAX_OPTION_JUMP" => "N",
      "AJAX_OPTION_STYLE" => "Y",
      "AJAX_OPTION_HISTORY" => "N",
      "SEF_FOLDER" => "/parfume/",
      "SEF_URL_TEMPLATES" => Array(
         "section" => "#SECTION_CODE#/",
         "element" => "#SECTION_CODE#/#ELEMENT_CODE#/",
         "compare" => "compare.php?action=#ACTION_CODE#"
      ),
      "VARIABLE_ALIASES" => Array(
         "section" => Array(),
         "element" => Array(),
         "compare" => Array(
            "ACTION_CODE" => "action"
         ),
      )
   )
);?>  
<div>
<?
// Каталог предложений
$APPLICATION->IncludeComponent(
   "bitrix:catalog.link.list",
   "",
   Array(
      "AJAX_MODE" => "N",
      "IBLOCK_TYPE" => "catalog",
      "IBLOCK_ID" => "8",
      "LINK_PROPERTY_SID" => "",
      "ELEMENT_ID" => $_REQUEST["PARENT_ELEMENT_ID"],
      "ELEMENT_SORT_FIELD" => "sort",
      "ELEMENT_SORT_ORDER" => "asc",
      "FILTER_NAME" => "arrFilter",
      "SECTION_URL" => "",
      "DETAIL_URL" => "",
      "BASKET_URL" => "/personal/basket.php",
      "ACTION_VARIABLE" => "action",
      "PRODUCT_ID_VARIABLE" => "id",
      "SEC
спросил 12 Июль, 13 от Areca (200 баллов)

1 Ответ

00 голосов
Саму задачу решил. Понимаю что получается коряво но другого способа найти ID текущего товара не нашел.

:oops: В компоненте catalog.element вставил строку
Код
$_REQUEST["PARENT_ELEMENT_ID"] = $arResult["ID"];


Ну и конечно все заработало. Можно так же обойти через глобальные переменные.
Хотелось бы комментарии опытных разработчиков - рекомендованный способ решения данной проблемы.
ответил 12 Июль, 13 от Areca (200 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
3 ответов
спросил 12 Март, 14 от Fulgrim (140 баллов)
0 голосов
0 ответов
спросил 14 Фев, 14 от Jiana (100 баллов)
0 голосов
1 ответ
спросил 22 Окт, 13 от Kiriel (2,010 баллов)
0 голосов
5 ответов
спросил 03 Май, 13 от Evenka (520 баллов)