|
Добрый день. Проблема такова. У меня есть действующий каталог и он работает как надо. Мне понадобилось создать копию такого каталога, отдельным инфоблоком. Собственно я создал новый инфоблок и скопировал все настройки. Создал элементы. Создал страницу для нового каталога, тоже скопировал настройки. Подключил компонент catalog с тем же самым шаблоном. Перепроверил, что в настройках стоит Показывать элементы присутствующие в разделах. И вот проблема. Если элемент имеет раздел "Верхний уровень", то он отображается на странице. А если элемент находится в разделе, то он не отображается на странице. Если я к этой странице в параметрах компонента каталога указываю старый инфоблок, то вуаля, все элементы прекрасно выводятся. Как вылечить эту проблему? В чем загвоздка? страница + настройки компонента Скрытый текст |
---|
[CODE]<? $APPLICATION->SetTitle('New'); ?><?$APPLICATION->IncludeComponent( "bitrix:catalog", "maps", Array( "ACTION_VARIABLE" => "action", "ADD_ELEMENT_CHAIN" => "N", "ADD_PICT_PROP" => "-", "ADD_PROPERTIES_TO_BASKET" => "Y", "ADD_SECTIONS_CHAIN" => "Y", "AJAX_MODE" => "Y", "AJAX_OPTION_ADDITIONAL" => "", "AJAX_OPTION_HISTORY" => "Y", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "BASKET_URL" => "/personal/basket.php", "CACHE_FILTER" => "N", "CACHE_GROUPS" => "Y", "CACHE_TIME" => "36000000", "CACHE_TYPE" => "A", "COMPATIBLE_MODE" => "Y", "COMPONENT_TEMPLATE" => "maps", "DETAIL_ADD_DETAIL_TO_SLIDER" => "Y", "DETAIL_BACKGROUND_IMAGE" => "-", "DETAIL_BRAND_USE" => "N", "DETAIL_BROWSER_TITLE" => "-", "DETAIL_CHECK_SECTION_ID_VARIABLE" => "N", "DETAIL_DETAIL_PICTURE_MODE" => array(0=>"POPUP",), "DETAIL_DISPLAY_NAME" => "Y", "DETAIL_DISPLAY_PREVIEW_TEXT_MODE" => "E", "DETAIL_IMAGE_RESOLUTION" => "16by9", "DETAIL_MAIN_BLOCK_PROPERTY_CODE" => array(), "DETAIL_META_DESCRIPTION" => "-", "DETAIL_META_KEYWORDS" => "-", "DETAIL_PRODUCT_INFO_BLOCK_ORDER" => "sku,props", "DETAIL_PRODUCT_PAY_BLOCK_ORDER" => "rating,price,priceRanges,quantityLimit,quantity,buttons", "DETAIL_PROPERTY_CODE" => array(0=>"",1=>"MORE_PHOTO",2=>"",), "DETAIL_SET_CANONICAL_URL" => "N", "DETAIL_SHOW_POPULAR" => "Y", "DETAIL_SHOW_SLIDER" => "N", "DETAIL_SHOW_VIEWED" => "Y", "DETAIL_STRICT_SECTION_CHECK" => "N", "DETAIL_USE_COMMENTS" => "N", "DETAIL_USE_VOTE_RATING" => "N", "DISABLE_INIT_JS_IN_COMPONENT" => "N", "DISPLAY_BOTTOM_PAGER" => "Y", "DISPLAY_TOP_PAGER" => "N", "ELEMENT_SORT_FIELD" => "sort", "ELEMENT_SORT_FIELD2" => "id", "ELEMENT_SORT_ORDER" => "asc", "ELEMENT_SORT_ORDER2" => "desc", "FILE_404" => "", "FILTER_FIELD_CODE" => array(0=>"NAME",1=>"",), "FILTER_HIDE_ON_MOBILE" => "N", "FILTER_NAME" => "arrFilter", "FILTER_PRICE_CODE" => array(), "FILTER_PROPERTY_CODE" => array(0=>"",1=>"REGIONS",2=>"REL_DATE",3=>"",), "FILTER_VIEW_MODE" => "HORIZONTAL", "IBLOCK_ID" => "17", "IBLOCK_TYPE" => "content", "INCLUDE_SUBSECTIONS" => "Y", "INSTANT_RELOAD" => "Y", "LABEL_PROP" => array(), "LABEL_PROP_MOBILE" => "", "LABEL_PROP_POSITION" => "top-left", "LAZY_LOAD" => "N", "LINE_ELEMENT_COUNT" => "4", "LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#", "LINK_IBLOCK_ID" => "", "LINK_IBLOCK_TYPE" => "", "LINK_PROPERTY_SID" => "", "LIST_BROWSER_TITLE" => "-", "LIST_ENLARGE_PRODUCT" => "STRICT", "LIST_META_DESCRIPTION" => "-", "LIST_META_KEYWORDS" => "-", "LIST_PRODUCT_BLOCKS_ORDER" => "props,price,sku,quantityLimit,quantity,buttons", "LIST_PRODUCT_ROW_VARIANTS" => "[{'VARIANT':'3','BIG_DATA':false},{'VARIANT':'3','BIG_DATA':false},{'VARIANT':'3','BIG_DATA':false},{'VARIANT':'3','BIG_DATA':false},{'VARIANT':'3','BIG_DATA':false},{'VARIANT':'3','BIG_DATA':false},{'VARIANT':'3','BIG_DATA':false},{'VARIANT':'3','BIG_DATA':false}]", "LIST_PROPERTY_CODE" => array(0=>"",1=>"REGIONS",2=>"REL_DATE",3=>"ARTNUMBER",4=>"",), "LIST_PROPERTY_CODE_MOBILE" => array(), "LIST_SHOW_SLIDER" => "Y", "LIST_SLIDER_INTERVAL" => "3000", "LIST_SLIDER_PROGRESS" => "N", "LOAD_ON_SCROLL" => "N", "MESSAGE_404" => "", "MESS_BTN_ADD_TO_BASKET" => "В корзину", "MESS_BTN_BUY" => "Купить", "MESS_BTN_COMPARE" => "Сравнение", "MESS_BTN_DETAIL" => "Подробнее", "MESS_BTN_SUBSCRIBE" => "Подписаться", "MESS_NOT_AVAILABLE" => "Нет в наличии", "PAGER_BASE_LINK_ENABLE" => "N", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "N", "PAGER_SHOW_ALWAYS" => "N", "PAGER_TEMPLATE" => "ajax_pager", "PAGER_TITLE" => "Товары", "PAGE_ELEMENT_COUNT" => "32", "PARTIAL_PRODUCT_PROPERTIES" => "N", "PRICE_CODE" => array(), "PRICE_VAT_INCLUDE" => "Y", "PRICE_VAT_SHOW_VALUE" => "N", "PRODUCT_ID_VARIABLE" => "id", "PRODUCT_PROPERTIES" => array(), "PRODUCT_PROPS_VARIABLE" => "prop", "PRODUCT_QUANTITY_VARIABLE" => "", "SEARCH_CHECK_DATES" => "Y", "SEARCH_NO_WORD_LOGIC" => "Y", "SEARCH_PAGE_RESULT_COUNT" => "50", "SEARCH_RESTART" => "N", "SEARCH_USE_LANGUAGE_GUESS" => "Y", "SECTIONS_SHOW_PARENT_NAME" => "N", "SECTIONS_VIEW_MODE" => "LIST", "SECTION_BACKGROUND_IMAGE" => "-", "SECTION_COUNT_ELEMENTS" => "N", "SECTION_ID_VARIABLE" => "SECTION_ID", "SECTION_TOP_DEPTH" => "2", "SEF_FOLDER" => "/maps/", "SEF_MODE" => "Y", "SEF_URL_TEMPLATES" => array("sections"=>"","section"=>"#SECTION_CODE#/","element"=>"#SECTION_CODE#/#ELEMENT_CODE#/","compare"=>"compare.php?action=#ACTION_CODE#","smart_filter"=>"#SECTION_ID#/filter/#SMART_FILTER_PATH#/apply/",), "SET_LAST_MODIFIED" => "N", "SET_STATUS_404" => "Y", "SET_TITLE" => "Y", "SHOW_404" => "Y", "SHOW_DEACTIVATED" => "N", "SHOW_PRICE_COUNT" => "1", "SHOW_TOP_ELEMENTS" => "N", "SIDEBAR_DETAIL_POSITION" => "right", "SIDEBAR_DETAIL_SHOW" => "N", "SIDEBAR_PATH" => "", "SIDEBAR_SECTION_POSITION" => "right", "SIDEBAR_SECTION_SHOW" => "N", "TEMPLATE_THEME" => "blue", "TOP_ELEMENT_COUNT" => "9", "TOP_ELEMENT_SORT_FIELD" => "sort", "TOP_ELEMENT_SORT_FIELD2" => "id", "TOP_ELEMENT_SORT_ORDER" => "asc", "TOP_ELEMENT_SORT_ORDER2" => "desc", "TOP_LINE_ELEMENT_COUNT" => "3", "TOP_PROPERTY_CODE" => array(0=>"",1=>"",), "TOP_VIEW_MODE" => "SECTION", "USER_CONSENT" => "N", "USER_CONSENT_ID" => "0", "USER_CONSENT_IS_CHECKED" => "Y", "USER_CONSENT_IS_LOADED" => "N", "USE_COMPARE" => "N", "USE_ELEMENT_COUNTER" => "Y", "USE_ENHANCED_ECOMMERCE" => "N", "USE_FILTER" => "Y", "USE_MAIN_ELEMENT_SECTION" => "Y", "USE_PRICE_COUNT" => "N", "USE_PRODUCT_QUANTITY" => "N", "USE_REVIEW" => "N", "USE_STORE" => "N", "VARIABLE_ALIASES" => array("compare"=>array("ACTION_CODE"=>"action",),) ) );?><br>[/CODE] |
sections.php ссылается на section [CODE]<? include('section.php');?>[/CODE] section.php Скрытый текст |
---|
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
/** @var array $arParams */ /** @var array $arResult */ /** @global CMain $APPLICATION */ /** @global CUser $USER */ /** @global CDatabase $DB */ /** @var CBitrixComponentTemplate $this */ /** @var string $templateName */ /** @var string $templateFile */ /** @var string $templateFolder */ /** @var string $componentPath */ /** @var CBitrixComponent $component */ use Bitrix\Main\Loader; use Bitrix\Main\ModuleManager;
$arParams["FILTER_NAME"] = 'arFilter'; global $arFilter; $dont_show = array(); $arFilter1 = array('IBLOCK_ID' =>$arParams["IBLOCK_ID"],'!UF_SHOW'=>false); $rsSect = CIBlockSection::GetList(array('left_margin' => 'asc'),$arFilter1); while ($arSect = $rsSect->GetNext()) { $arFilter['!IBLOCK_SECTION_ID'][] = $arSect['ID']; } $arFilter['PROPERTY_STATUS_A'] = false;
$this->setFrameMode(true); //$this->addExternalCss("/bitrix/css/main/bootstrap.css"); ?> <div class="cat_list_left"> <div class="menu_right_catalog menu_top_catalog"> <?$APPLICATION->IncludeComponent( "bitrix:menu", "catalog_menu_maps", array( "ALLOW_MULTI_SELECT" => "N", "CHILD_MENU_TYPE" => "left", "DELAY" => "N", "MAX_LEVEL" => "1", "MENU_CACHE_GET_VARS" => array( ), "MENU_CACHE_TIME" => "3600", "MENU_CACHE_TYPE" => "N", "MENU_CACHE_USE_GROUPS" => "Y", "ROOT_MENU_TYPE" => "maps", "USE_EXT" => "Y", "COMPONENT_TEMPLATE" => "catalog_menu_maps" ), false );?> <div style="clear:both"></div> </div> </div> <div class="this_catalog_list"> <div class="cat_list_left"> <? $intSectionID = $APPLICATION->IncludeComponent( "bitrix:catalog.section", "", array( "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "ELEMENT_SORT_FIELD" => $arParams["ELEMENT_SORT_FIELD"], "ELEMENT_SORT_ORDER" => $arParams["ELEMENT_SORT_ORDER"], "ELEMENT_SORT_FIELD2" => $arParams["ELEMENT_SORT_FIELD2"], "ELEMENT_SORT_ORDER2" => $arParams["ELEMENT_SORT_ORDER2"], "PROPERTY_CODE" => $arParams["LIST_PROPERTY_CODE"], "META_KEYWORDS" => $arParams["LIST_META_KEYWORDS"], "META_DESCRIPTION" => $arParams["LIST_META_DESCRIPTION"], "BROWSER_TITLE" => $arParams["LIST_BROWSER_TITLE"], "SET_LAST_MODIFIED" => $arParams["SET_LAST_MODIFIED"], "INCLUDE_SUBSECTIONS" => $arParams["INCLUDE_SUBSECTIONS"], "BASKET_URL" => $arParams["BASKET_URL"], "ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"], "PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"], "SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"], "PRODUCT_QUANTITY_VARIABLE" => $arParams["PRODUCT_QUANTITY_VARIABLE"], "PRODUCT_PROPS_VARIABLE" => $arParams["PRODUCT_PROPS_VARIABLE"], "FILTER_NAME" => $arParams["FILTER_NAME"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_FILTER" => $arParams["CACHE_FILTER"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "SET_TITLE" => $arParams["SET_TITLE"], "MESSAGE_404" => $arParams["MESSAGE_404"], "SET_STATUS_404" => $arParams["SET_STATUS_404"], "SHOW_404" => $arParams["SHOW_404"], "FILE_404" => $arParams["FILE_404"], "DISPLAY_COMPARE" => $arParams["USE_COMPARE"], "PAGE_ELEMENT_COUNT" => $arParams["PAGE_ELEMENT_COUNT"], "LINE_ELEMENT_COUNT" => $arParams["LINE_ELEMENT_COUNT"], "PRICE_CODE" => $arParams["PRICE_CODE"], "USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"], "SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],
"PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"], "USE_PRODUCT_QUANTITY" => $arParams['USE_PRODUCT_QUANTITY'], "ADD_PROPERTIES_TO_BASKET" => (isset($arParams["ADD_PROPERTIES_TO_BASKET"]) ? $arParams["ADD_PROPERTIES_TO_BASKET"] : ''), "PARTIAL_PRODUCT_PROPERTIES" => (isset($arParams["PARTIAL_PRODUCT_PROPERTIES"]) ? $arParams["PARTIAL_PRODUCT_PROPERTIES"] : ''), "PRODUCT_PROPERTIES" => $arParams["PRODUCT_PROPERTIES"],
"DISPLAY_TOP_PAGER" => $arParams["DISPLAY_TOP_PAGER"], "DISPLAY_BOTTOM_PAGER" => $arParams["DISPLAY_BOTTOM_PAGER"], "PAGER_TITLE" => $arParams["PAGER_TITLE"], "PAGER_SHOW_ALWAYS" => $arParams["PAGER_SHOW_ALWAYS"], "PAGER_TEMPLATE" => $arParams["PAGER_TEMPLATE"], "PAGER_DESC_NUMBERING" => $arParams["PAGER_DESC_NUMBERING"], "PAGER_DESC_NUMBERING_CACHE_TIME" => $arParams["PAGER_DESC_NUMBERING_CACHE_TIME"], "PAGER_SHOW_ALL" => $arParams["PAGER_SHOW_ALL"], "PAGER_BASE_LINK_ENABLE" => $arParams["PAGER_BASE_LINK_ENABLE"], "PAGER_BASE_LINK" => $arParams["PAGER_BASE_LINK"], "PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"],
"OFFERS_CART_PROPERTIES" => $arParams["OFFERS_CART_PROPERTIES"], "OFFERS_FIELD_CODE" => $arParams["LIST_OFFERS_FIELD_CODE"], "OFFERS_PROPERTY_CODE" => $arParams["LIST_OFFERS_PROPERTY_CODE"], "OFFERS_SORT_FIELD" => $arParams["OFFERS_SORT_FIELD"], "OFFERS_SORT_ORDER" => $arParams["OFFERS_SORT_ORDER"], "OFFERS_SORT_FIELD2" => $arParams["OFFERS_SORT_FIELD2"], "OFFERS_SORT_ORDER2" => $arParams["OFFERS_SORT_ORDER2"], "OFFERS_LIMIT" => $arParams["LIST_OFFERS_LIMIT"],
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"], "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], "SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"], "DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["element"], "USE_MAIN_ELEMENT_SECTION" => $arParams["USE_MAIN_ELEMENT_SECTION"], 'CONVERT_CURRENCY' => $arParams['CONVERT_CURRENCY'], 'CURRENCY_ID' => $arParams['CURRENCY_ID'], 'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
'LABEL_PROP' => $arParams['LABEL_PROP'], 'ADD_PICT_PROP' => $arParams['ADD_PICT_PROP'], 'PRODUCT_DISPLAY_MODE' => $arParams['PRODUCT_DISPLAY_MODE'],
'OFFER_ADD_PICT_PROP' => $arParams['OFFER_ADD_PICT_PROP'], 'OFFER_TREE_PROPS' => $arParams['OFFER_TREE_PROPS'], 'PRODUCT_SUBSCRIPTION' => $arParams['PRODUCT_SUBSCRIPTION'], 'SHOW_DISCOUNT_PERCENT' => $arParams['SHOW_DISCOUNT_PERCENT'], 'SHOW_OLD_PRICE' => $arParams['SHOW_OLD_PRICE'], 'MESS_BTN_BUY' => $arParams['MESS_BTN_BUY'], 'MESS_BTN_ADD_TO_BASKET' => $arParams['MESS_BTN_ADD_TO_BASKET'], 'MESS_BTN_SUBSCRIBE' => $arParams['MESS_BTN_SUBSCRIBE'], 'MESS_BTN_DETAIL' => $arParams['MESS_BTN_DETAIL'], 'MESS_NOT_AVAILABLE' => $arParams['MESS_NOT_AVAILABLE'],
'TEMPLATE_THEME' => (isset($arParams['TEMPLATE_THEME']) ? $arParams['TEMPLATE_THEME'] : ''), "ADD_SECTIONS_CHAIN" => "N", 'ADD_TO_BASKET_ACTION' => $basketAction, 'SHOW_CLOSE_POPUP' => isset($arParams['COMMON_SHOW_CLOSE_POPUP']) ? $arParams['COMMON_SHOW_CLOSE_POPUP'] : '', 'COMPARE_PATH' => $arResult['FOLDER'].$arResult['URL_TEMPLATES']['compare'], 'BACKGROUND_IMAGE' => (isset($arParams['SECTION_BACKGROUND_IMAGE']) ? $arParams['SECTION_BACKGROUND_IMAGE'] : ''), 'DISABLE_INIT_JS_IN_COMPONENT' => (isset($arParams['DISABLE_INIT_JS_IN_COMPONENT']) ? $arParams['DISABLE_INIT_JS_IN_COMPONENT'] : '') ), $component );?> <div style="clear:both"></div> </div> </div>
<? $res = CIBlockSection::GetByID($intSectionID); if($ar_res = $res->Fetch()) echo $ar_res["DESCRIPTION"]; ?>
[/CODE] |
template catalog.section Скрытый текст |
---|
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); /** @var array $arParams */ /** @var array $arResult */ /** @global CMain $APPLICATION */ /** @global CUser $USER */ /** @global CDatabase $DB */ /** @var CBitrixComponentTemplate $this */ /** @var string $templateName */ /** @var string $templateFile */ /** @var string $templateFolder */ /** @var string $componentPath */ /** @var CBitrixComponent $component */ $this->setFrameMode(true);
$arsect = array(); $arFilter = array('IBLOCK_ID' => $arParams['IBLOCK_ID']); // выберет потомков без учета активности $rsSect = CIBlockSection::GetList(array('left_margin' => 'asc'),$arFilter,false,array("ID","NAME","UF_YN","UF_STATUS_A")); $arParams["ACTIVE_DATE_FORMAT"]="M Y"; while ($arSect = $rsSect->Fetch()) { $arsect[$arSect["ID"]] =array("NAME"=> $arSect["NAME"],"YN"=>$arSect["UF_YN"],"STATUS_A"=>$arSect["UF_STATUS_A"]); }
?> <div class="cat_list_section"> <div class="row clearfix"> <? if (!empty($arResult['ITEMS'])) { foreach ($arResult['ITEMS'] as $key => $arItem) { $this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], $strElementEdit); $this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], $strElementDelete, $arElementDeleteParams); $strMainID = $this->GetEditAreaId($arItem['ID']); ?> <div class="element_section product-thumb" id="<?=$strMainID?>"> <a href="<?=$arItem["DETAIL_PAGE_URL"]?>" target="_self"> <div class="image"> <img src="<?=$arItem["PRODUCT_PREVIEW"]["SRC"]?>"> </div> <div class="caption"> <p class="name"><?=$arItem["NAME"]?></p> <?/* ?><p class="manufacturer"><?=$arsect[$arItem["IBLOCK_SECTION_ID"]]["NAME"]?></p><? */?> <!-- Вводим блок регионов --> <span class="element_regions"> <? $temp=0; $db_old_groups = CIBlockElement::GetElementGroups($arItem['ID'], false); $str = ""; $cnt = 0; while($ar_group = $db_old_groups->Fetch()) { $temp++; // Проверим, к какому количеству разделов принадлежит элемент } if ($temp == 1) { // Если элемент принадлежит только к одному разделу $db_old_groups = CIBlockElement::GetElementGroups($arItem['ID'], false); while($ar_group = $db_old_groups->Fetch()) { echo '' . $ar_group["NAME"]; } } else { // Если элемент принадлежит более чем к одному разделу echo ''; $db_old_groups = CIBlockElement::GetElementGroups($arItem['ID'], false); while($ar_group = $db_old_groups->Fetch()) { $arr[$cnt] = ''.$ar_group["NAME"].''; $cnt++; } while ($ar_group = $db_old_groups->Fetch()); echo implode(", ",$arr); } ?> </span> <!-- Вводим блок регионов конец --> <p class="more">Подробнее</p> </div> </a> </div> <? } ?>
</div> <? if ($arParams["DISPLAY_BOTTOM_PAGER"]) { ?><? echo $arResult["NAV_STRING"]; ?><? } }else{ ?> Раздел пуст <?} ?> </div> [/CODE] |
|