Answer the question
In order to leave comments, you need to log in
How to display elements by brand in 1s Bitrix?
Since this is my first project on Bitrix, don't kick too hard)))
In general, I'm even tired) I
use the standard Bitrix online store template from version 14.5, in fact, I only edit component templates, adjusting them to my design. Everything works great, as it should.
And then the task arose to display all the products of the catalog from subsections selected by brand (certain property).
And another question is how to display all catalog elements from subsections on the page, even I can’t understand what parameters should be passed to bitix:catalog.section so that it displays all the products.
I'm not asking for a solution, just tell me which way to dig. Thank you all in advance.
Everything is standard here in section.php ... I didn’t change anything, so a little design for my own.
<div class="row">
<?
if ($arParams['USE_FILTER'] == 'Y')
{
$arFilter = array(
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"ACTIVE" => "Y",
"GLOBAL_ACTIVE" => "Y",
);
if (0 < intval($arResult["VARIABLES"]["SECTION_ID"]))
{
$arFilter["ID"] = $arResult["VARIABLES"]["SECTION_ID"];
}
elseif ('' != $arResult["VARIABLES"]["SECTION_CODE"])
{
$arFilter["=CODE"] = $arResult["VARIABLES"]["SECTION_CODE"];
}
$obCache = new CPHPCache();
if ($obCache->InitCache(36000, serialize($arFilter), "/iblock/catalog"))
{
$arCurSection = $obCache->GetVars();
}
elseif ($obCache->StartDataCache())
{
$arCurSection = array();
if (Loader::includeModule("iblock"))
{
$dbRes = CIBlockSection::GetList(array(), $arFilter, false, array("ID"));
if(defined("BX_COMP_MANAGED_CACHE"))
{
global $CACHE_MANAGER;
$CACHE_MANAGER->StartTagCache("/iblock/catalog");
if ($arCurSection = $dbRes->Fetch())
{
$CACHE_MANAGER->RegisterTag("iblock_id_".$arParams["IBLOCK_ID"]);
}
$CACHE_MANAGER->EndTagCache();
}
else
{
if(!$arCurSection = $dbRes->Fetch())
$arCurSection = array();
}
}
$obCache->EndDataCache($arCurSection);
}
if (!isset($arCurSection))
{
$arCurSection = array();
}
if ($verticalGrid)
{
?>
<div class="col-md-4 col-sm-12 col-xs-12 smart-filter-float-right"><?
}
?><?$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
"",
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => $arCurSection['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" => $arParams["FILTER_VIEW_MODE"],
"XML_EXPORT" => "Y",
"SECTION_TITLE" => "NAME",
"SECTION_DESCRIPTION" => "DESCRIPTION",
'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
"TEMPLATE_THEME" => $arParams["TEMPLATE_THEME"]
),
$component,
array('HIDE_ICONS' => 'Y')
);
if($arParams["USE_COMPARE"]=="Y")
{
?><?$APPLICATION->IncludeComponent(
"bitrix:catalog.compare.list",
"catalog_compare_list_pampersok",
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"NAME" => $arParams["COMPARE_NAME"],
"DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["element"],
"COMPARE_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["compare"],
"ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
"PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
'POSITION_FIXED' => isset($arParams['COMPARE_POSITION_FIXED']) ? $arParams['COMPARE_POSITION_FIXED'] : '',
'POSITION' => isset($arParams['COMPARE_POSITION']) ? $arParams['COMPARE_POSITION'] : ''
),
$component,
array("HIDE_ICONS" => "Y")
);?><?
}
?>
<?
if ($verticalGrid)
{
?></div><?
}
}
if ($verticalGrid)
{
?><div class="col-md-8 col-sm-12 col-xs-12"><?
}
?><?
if (isset($arParams['USE_COMMON_SETTINGS_BASKET_POPUP']) && $arParams['USE_COMMON_SETTINGS_BASKET_POPUP'] == 'Y')
{
$basketAction = (isset($arParams['COMMON_ADD_TO_BASKET_ACTION']) ? $arParams['COMMON_ADD_TO_BASKET_ACTION'] : '');
}
else
{
$basketAction = (isset($arParams['SECTION_ADD_TO_BASKET_ACTION']) ? $arParams['SECTION_ADD_TO_BASKET_ACTION'] : '');
}
$intSectionID = 0;
?><?
pr($arFilter);
$intSectionID = $APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"catalog_section_pampersok",
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"],
"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"],
"SET_STATUS_404" => $arParams["SET_STATUS_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"],
"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"],
'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']
),
$component
);?><?
$GLOBALS['CATALOG_CURRENT_SECTION_ID'] = $intSectionID;
unset($basketAction);
?></div><?
if ($verticalGrid)
{
?></div>
Answer the question
In order to leave comments, you need to log in
To display all elements of the catalog in bitix:catalog.section, you need to set the parameters:
// в параметрах компонента
"PAGE_ELEMENT_COUNT" => "1000", //число больше общего количества товаров
"INCLUDE_SUBSECTIONS" => "Y", // включать вложенные секции
// в параметрах компонента
"FILTER_NAME" => "arrFilter", // название переменной с фильтром
// перед вызовом компонента
global $arrFilter;
$arrFilter = array("PROPERTY_BRAND" => 25); // фильтр для товаров со свойством бренд = 25
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question