Jump to content
  • 0

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


rus
 Share

Question

Добрый день!

Имеем компонент список связанных элементов, который в админке через редактирование называется "catalog.link.list" но через публичную часть редактировать нужно "catalog.section".

Как его кастомизировать под свои нужды?

Вот код:


<?foreach($arResult["ITEMS"] as $arElement):?>
<?
$this->AddEditAction($arElement['ID'], $arElement['EDIT_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_EDIT"));
$this->AddDeleteAction($arElement['ID'], $arElement['DELETE_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BCS_ELEMENT_DELETE_CONFIRM')));
?>
<tr id="<?=$this->GetEditAreaId($arElement['ID']);?>">
<td>
<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a>
<?if(count($arElement["SECTION"]["PATH"])>0):?>
<ul>
<?foreach($arElement["SECTION"]["PATH"] as $arPath):?>
<li><a href="<?=$arPath["SECTION_PAGE_URL"]?>"><?=$arPath["NAME"]?></a></li>
<?endforeach?>
</ul>
<?endif?>
</td>
<?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<td>
<?if(is_array($arProperty["DISPLAY_VALUE"]))
echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
elseif($arProperty["DISPLAY_VALUE"] === false)
echo " ";
else
echo $arProperty["DISPLAY_VALUE"];?>
</td>
<?endforeach?>
<?foreach($arResult["PRICES"] as $code=>$arPrice):?>
<td>
<?if($arPrice = $arElement["PRICES"][$code]):?>
<?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?>
<s><?=$arPrice["PRINT_VALUE"]?></s><br /><span class="catalog-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span>
<?else:?>
<span class="catalog-price"><?=$arPrice["PRINT_VALUE"]?></span>
<?endif?>
<?else:?>
 
<?endif;?>
</td>
<?endforeach;?>
<?if(count($arResult["PRICES"]) > 0):?>
<td>
<?if($arElement["CAN_BUY"]):?>
<noindex>
<a href="<?echo $arElement["BUY_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_BUY")?></a>
 <a href="<?echo $arElement["ADD_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_ADD")?></a>
</noindex>
<?elseif((count($arResult["PRICES"]) > 0) || is_array($arElement["PRICE_MATRIX"])):?>
<?=GetMessage("CATALOG_NOT_AVAILABLE")?>
<?endif?> 
</td>
<?endif;?>
</tr>
<?endforeach;?>

интересует вот этот участок кода:


<td>
<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a>
<?if(count($arElement["SECTION"]["PATH"])>0):?>
<ul>
<?foreach($arElement["SECTION"]["PATH"] as $arPath):?>
<li><a href="<?=$arPath["SECTION_PAGE_URL"]?>"><?=$arPath["NAME"]?></a></li>
<?endforeach?>
</ul>
<?endif?>
</td>

<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a> - ссылка на сам товар, она в принципе не нужна, а вот вывод категорий и подкатегорий - <li><a href="<?=$arPath["SECTION_PAGE_URL"]?>"><?=$arPath["NAME"]?></a></li> вот тут нужно сделать что-то вроде этого:

http://eurobit.ru/ - там в левой колонке кликаешь по производителю и попадаешь на страницу со списком категорий и подкатегорий где встречается этот товар, но без повторений. Как вот организовать такое же?

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Сайт с примером чё-та не грузится, вопрос не совсем ясен, ты не можешь удалить лишнее и оставить то что надо ? или ты хочешь чего-то добавить?

Вот то что обведено в кружочке, там видно что сначала идет ссылка на сам товар, а под ним идет ссылка на его раздел, потом на подраздел и если есть подподраздел.

Эти разделы и подразделы повторяются, так как товары разные, то есть идет перечисление товаров, которые относятся к этому производителю, а нужно просто указать единыжды и без повторений те разделы и подразделы, в которых есть товар этого производителя.

1197699.jpg

З.Ы. да, у меня тоже сайт долго грузится, надо подождать, он загружается.

Link to comment
Share on other sites

  • 0

насчет результата:

в левой колонке список производителей:

1292685.jpg

если кликнуть по производителю AEG, то попадем на ту страницу, которая мне и нужна, то есть, список категорий с подкатегориями где есть этот производитель:

1245581.jpg

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy