Я, честно говоря, не знаю, комплексный компонент или нет...
Он видимо стандартный bitrix:catalog.section
Вот код его:
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog_section">
<?if($arParams["DISPLAY_TOP_PAGER"]):?>
<?=$arResult["NAV_STRING"]?>
<?endif;?>
<div class="table_catalog_section">
<?
$i=0;
foreach($arResult["ITEMS"] as $cell=>$arElement):
$path=fn_get_chainpath($arElement["IBLOCK_ID"], $arElement["~IBLOCK_SECTION_ID"]);
$arElement["DETAIL_PAGE_URL"]=$path.$arElement["CODE"].".html";
$i++;
if ($i==1)
{
$arIBlock=GetIBlock($arElement["IBLOCK_ID"]);
if ((preg_match('#'.$arIBlock['LIST_PAGE_URL'].'#',$APPLICATION->GetCurDir())) && (!preg_match('#^/store/brands#',$APPLICATION->GetCurDir())) && (!preg_match('#^/store/news#',$APPLICATION->GetCurDir())) && (!preg_match('#\.html#',$_SERVER['REQUEST_URI'])))
{
fn_set_iblocknavchain($arIBlock["ID"],$arResult["IBLOCK_TYPE_ID"],$arElement["IBLOCK_SECTION_ID"]);
}
}
?>
<?if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
<?endif;?>
<div class="catalog_section_item">
<div class="tovar_sravnit">
<?if($arParams["DISPLAY_COMPARE"]):?>
<fo rm action="<?=POST_FORM_ACTION_URI?>" method="post" enctype="multipart/form-data">
<div class="checkbox"></div>
<div class="sravnit"><a href="jav * ascript:void(0)" onc lick="GetPage_compare(<?=$arElement["ID"]?>);">Сравнить</a></div>
<div class="clear"> </div>
</form>
<?endif?>
</div>
<div class="picture_razm">
<?if (is_array($arElement["PREVIEW_PICTURE"])):?>
<table class="tovar_picture" valign="top" height="150" width="150" cellpadding="0" cellspacing="0" border="0"><tr><td align="center" valign="middle"><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arElement["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arElement["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a></td></tr></table>
<?endif;?>
</div>
<div class="tovar_name"><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a></div>
<div class="tovar_price">
<?foreach($arElement["PRICES"] as $code=>$arPrice):?>
<?if($arPrice["CAN_ACCESS"]):?>
<span class="pp">Цена: </span><b>
<?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?>
<s><?=$arPrice["PRINT_VALUE"]?></s> <span class="catalog_price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span>
<?else:?><span class="catalog-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span><?endif;?></b>
<?endif;?>
<?endforeach;?>
</div>
<?if($arElement["CAN_BUY"]):?>
<div class="v_korzinu"><a href="<?echo $arElement["ADD_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_ADD")?></a></div>
<?elseif((count($arResult["PRICES"]) > 0) || is_array($arElement["PRICE_MATRIX"])):?>
<?endif?>
<div class="properties_cont">
<?
$i_prop=0;
?>
<?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty)
{
if (strlen($arProperty["DISPLAY_VALUE"])<1) {continue;}
$i_prop++;
if ($i_prop>1) {echo ', ';}
if(is_array($arProperty["DISPLAY_VALUE"]))
echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
else
echo $arProperty["DISPLAY_VALUE"];
}?>
</div>
<br />
<div class="tovar_text"><?=$arElement["PREVIEW_TEXT"]?></div>
<div class="clear"></div>
</div>
<?$cell++;
if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
<?endif?>
<?endforeach; // foreach($arResult["ITEMS"] as $arElement):?>
<div class="clear"></div>
</div>
<?if($arParams["DISPLAY_BOTTOM_PAGER"]):?>
<?=$arResult["NAV_STRING"]?>
<?endif;?>
</div>
<?
global $APPLICATION;
if (($APPLICATION->GetCurDir()!='/') && (!preg_match('#^/store/brands#',$APPLICATION->GetCurDir())))
{
if ($arResult["ITEMS"][0]["IBLOCK_SECTION_ID"]>0)
{
$arSection=GetIBlockSection($arResult["ITEMS"][0]["IBLOCK_SECTION_ID"]);
$APPLICATION->SetTitle($arSection["NAME"]);
}
}
elseif(preg_match('#^/store/brands#',$APPLICATION->GetCurDir()))
{
global $arrFilter;
if (array_key_exists('PROPERTY_brand_VALUE',$arrFilter))
{
$APPLICATION->AddChainItem($arrFilter['PROPERTY_brand_VALUE'],"/products/brands/".rus2translit($arrFilter['PROPERTY_brand_VALUE'])."/");
$APPLICATION->SetTitle("Продукция ".$arrFilter['PROPERTY_brand_VALUE']);
}
}
?>
[/CODE]
Он видимо стандартный bitrix:catalog.section
Вот код его:
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog_section">
<?if($arParams["DISPLAY_TOP_PAGER"]):?>
<?=$arResult["NAV_STRING"]?>
<?endif;?>
<div class="table_catalog_section">
<?
$i=0;
foreach($arResult["ITEMS"] as $cell=>$arElement):
$path=fn_get_chainpath($arElement["IBLOCK_ID"], $arElement["~IBLOCK_SECTION_ID"]);
$arElement["DETAIL_PAGE_URL"]=$path.$arElement["CODE"].".html";
$i++;
if ($i==1)
{
$arIBlock=GetIBlock($arElement["IBLOCK_ID"]);
if ((preg_match('#'.$arIBlock['LIST_PAGE_URL'].'#',$APPLICATION->GetCurDir())) && (!preg_match('#^/store/brands#',$APPLICATION->GetCurDir())) && (!preg_match('#^/store/news#',$APPLICATION->GetCurDir())) && (!preg_match('#\.html#',$_SERVER['REQUEST_URI'])))
{
fn_set_iblocknavchain($arIBlock["ID"],$arResult["IBLOCK_TYPE_ID"],$arElement["IBLOCK_SECTION_ID"]);
}
}
?>
<?if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
<?endif;?>
<div class="catalog_section_item">
<div class="tovar_sravnit">
<?if($arParams["DISPLAY_COMPARE"]):?>
<fo rm action="<?=POST_FORM_ACTION_URI?>" method="post" enctype="multipart/form-data">
<div class="checkbox"></div>
<div class="sravnit"><a href="jav * ascript:void(0)" onc lick="GetPage_compare(<?=$arElement["ID"]?>);">Сравнить</a></div>
<div class="clear"> </div>
</form>
<?endif?>
</div>
<div class="picture_razm">
<?if (is_array($arElement["PREVIEW_PICTURE"])):?>
<table class="tovar_picture" valign="top" height="150" width="150" cellpadding="0" cellspacing="0" border="0"><tr><td align="center" valign="middle"><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arElement["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arElement["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a></td></tr></table>
<?endif;?>
</div>
<div class="tovar_name"><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a></div>
<div class="tovar_price">
<?foreach($arElement["PRICES"] as $code=>$arPrice):?>
<?if($arPrice["CAN_ACCESS"]):?>
<span class="pp">Цена: </span><b>
<?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?>
<s><?=$arPrice["PRINT_VALUE"]?></s> <span class="catalog_price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span>
<?else:?><span class="catalog-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span><?endif;?></b>
<?endif;?>
<?endforeach;?>
</div>
<?if($arElement["CAN_BUY"]):?>
<div class="v_korzinu"><a href="<?echo $arElement["ADD_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_ADD")?></a></div>
<?elseif((count($arResult["PRICES"]) > 0) || is_array($arElement["PRICE_MATRIX"])):?>
<?endif?>
<div class="properties_cont">
<?
$i_prop=0;
?>
<?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty)
{
if (strlen($arProperty["DISPLAY_VALUE"])<1) {continue;}
$i_prop++;
if ($i_prop>1) {echo ', ';}
if(is_array($arProperty["DISPLAY_VALUE"]))
echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
else
echo $arProperty["DISPLAY_VALUE"];
}?>
</div>
<br />
<div class="tovar_text"><?=$arElement["PREVIEW_TEXT"]?></div>
<div class="clear"></div>
</div>
<?$cell++;
if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
<?endif?>
<?endforeach; // foreach($arResult["ITEMS"] as $arElement):?>
<div class="clear"></div>
</div>
<?if($arParams["DISPLAY_BOTTOM_PAGER"]):?>
<?=$arResult["NAV_STRING"]?>
<?endif;?>
</div>
<?
global $APPLICATION;
if (($APPLICATION->GetCurDir()!='/') && (!preg_match('#^/store/brands#',$APPLICATION->GetCurDir())))
{
if ($arResult["ITEMS"][0]["IBLOCK_SECTION_ID"]>0)
{
$arSection=GetIBlockSection($arResult["ITEMS"][0]["IBLOCK_SECTION_ID"]);
$APPLICATION->SetTitle($arSection["NAME"]);
}
}
elseif(preg_match('#^/store/brands#',$APPLICATION->GetCurDir()))
{
global $arrFilter;
if (array_key_exists('PROPERTY_brand_VALUE',$arrFilter))
{
$APPLICATION->AddChainItem($arrFilter['PROPERTY_brand_VALUE'],"/products/brands/".rus2translit($arrFilter['PROPERTY_brand_VALUE'])."/");
$APPLICATION->SetTitle("Продукция ".$arrFilter['PROPERTY_brand_VALUE']);
}
}
?>
[/CODE]