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

bitrix:catalog.section.list как в шаблон категорий добавить превью и полную картинку категорий?

00 голосов
2
В каталоге используется следующий компонент

Код
<?$APPLICATION->IncludeComponent("bitrix:catalog.section.list", ".default", Array(
   "IBLOCK_TYPE"   =>   $arParams["IBLOCK_TYPE"],
   "IBLOCK_ID"   =>   $arParams["IBLOCK_ID"],
   "SECTION_ID"   =>   "0",
   "COUNT_ELEMENTS"   =>   "Y",
   "TOP_DEPTH"   =>   "2",
   "SECTION_URL"   =>   $arParams["SECTION_URL"],
   "CACHE_TYPE"   =>   "N",
   "CACHE_TIME"   =>   $arParams["CACHE_TIME"],
   "DISPLAY_PANEL"   =>   "N",
   "ADD_SECTIONS_CHAIN"   =>   $arParams["ADD_SECTIONS_CHAIN"]
   ),
   $component
);?>


Шаблон section.list такой

Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog-section-list">
<ul>
<?
$CURRENT_DEPTH=$arResult["SECTION"]["DEPTH_LEVEL"]+1;
foreach($arResult["SECTIONS"] as $arSection):
   if($CURRENT_DEPTH<$arSection["DEPTH_LEVEL"])
      echo "<ul>";
   elseif($CURRENT_DEPTH>$arSection["DEPTH_LEVEL"])
      echo str_repeat("</ul>", $CURRENT_DEPTH - $arSection["DEPTH_LEVEL"]);
   $CURRENT_DEPTH = $arSection["DEPTH_LEVEL"];
?>
   <li><a href="<?=$arSection["SECTION_PAGE_URL"]?>"><?=$arSection["NAME"]?><?if($arParams["COUNT_ELEMENTS"]):?>&nbsp;(<?=$arSection["ELEMENT_CNT"]?>)<?endif;?></a></li>
<?endforeach?>
</ul>
</div>


При добавлении в тело шаблона переменной - детальная картинка категорий не отображается, хотя отображалась с таким кодом в шаблоне bitrix:catalog.elements

Код
<img src="<?=$arResult["DETAIL_PICTURE"]["SRC"]?>" alt="<?=$arResult["NAME"]?>" title="<?=$arResult["NAME"]?>" />


При замене Result на arSection, нужного эффекта тоже не достигается.

Код
<img src="<?=$arSection["DETAIL_PICTURE"]["SRC"]?>" alt="<?=$arSection["NAME"]?>" title="<?=$arSection["NAME"]?>" />


Общий код шаблона имеет такой вид
Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog-section-list">
<ul>
<?
$CURRENT_DEPTH=$arResult["SECTION"]["DEPTH_LEVEL"]+1;
foreach($arResult["SECTIONS"] as $arSection):
   if($CURRENT_DEPTH<$arSection["DEPTH_LEVEL"])
      echo "<ul>";
   elseif($CURRENT_DEPTH>$arSection["DEPTH_LEVEL"])
      echo str_repeat("</ul>", $CURRENT_DEPTH - $arSection["DEPTH_LEVEL"]);
   $CURRENT_DEPTH = $arSection["DEPTH_LEVEL"];
?>
   <li><a href="<?=$arSection["SECTION_PAGE_URL"]?>"><?=$arSection["NAME"]?><?if($arParams["COUNT_ELEMENTS"]):?>&nbsp;(<?=$arSection["ELEMENT_CNT"]?<?endif;?></a>
<br/>
<img src="<?=$arSection["DETAIL_PICTURE"]["SRC"]?>" alt="<?=$arSection["NAME"]?>" title="<?=$arSection["NAME"]?>" />
</li>
<?endforeach?>
</ul>
</div>



Возможно для вывода детальной картинки в section.list нужна другая переменная? вместо ["DETAIL_PICTURE"] что-нибудь другое? Кто сталкивался с подобным?

Или как лучше вывести на одну страницу все превьюшки категорий??
спросил 02 Дек, 13 от Xenam (160 баллов)
harga obat kuat viagra di apotik  <a href=https://usbuyes.com/#>female viagra</a>  viagra purchase usa

2 Ответы

00 голосов
Код
<?echo "<pre>";
print_r($arResult);
echo "</pre>";?>

и там уже отловите переменную! можете использовать $arSection вместо $arResult, для точности расчетов! )))))))
ответил 30 Янв, 14 от Serofim (800 баллов)
00 голосов
Спасибо! Поймал! :) Все было просто - ["PICTURE"]["SRC"]
ответил 19 Май, 14 от Xenam (160 баллов)

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

0 голосов
1 ответ
0 голосов
3 ответов
0 голосов
1 ответ
спросил 25 Июль, 15 от аноним
0 голосов
1 ответ
0 голосов
2 ответов