Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Всем привет. Скажу сразу, что я не силен в этом двигателе и вообще в программировании. Работал с битриксом в 2013, уже все подзабыл. Не знаю что сейчас творят эти дьяволы в 1c-bitrix, но в прошлый раз было туго.

Итак, компонент catalog.section.list.

Сейчас структура выглядит так -->

/catalog/ - я так понимаю это первый уровень.



Заходим в любой из разделов, получается - /catalog/1 или 2 разделы/


При переходе в любой подраздел, мы теряем родителей, как и в первом случаи.

Как сделать так, чтобы при переходе в любой раздел, который больше не имеет подразделов, показывались предыдущие разделы, т.е те, где находится родитель?

Спасибо:)
Код
<?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);

$arViewModeList = $arResult['VIEW_MODE_LIST'];

$arViewStyles = array(
   'LIST' => array(
      'CONT' => 'bx_sitemap',
      'TITLE' => 'bx_sitemap_title',
      'LIST' => 'bx_sitemap_ul',
   ),
   'LINE' => array(
      'CONT' => 'bx_catalog_line',
      'TITLE' => 'bx_catalog_line_category_title',
      'LIST' => 'bx_catalog_line_ul',
      'EMPTY_IMG' => $this->GetFolder().'/images/line-empty.png'
   ),
   'TEXT' => array(
      'CONT' => 'bx_catalog_text',
      'TITLE' => 'bx_catalog_text_category_title',
      'LIST' => 'bx_catalog_text_ul'
   ),
   'TILE' => array(
      'CONT' => 'bx_catalog_tile',
      'TITLE' => 'bx_catalog_tile_category_title',
      'LIST' => 'bx_catalog_tile_ul',
      'EMPTY_IMG' => $this->GetFolder().'/images/tile-empty.png'
   )
);
$arCurView = $arViewStyles[$arParams['VIEW_MODE']];

$strSectionEdit = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "SECTION_EDIT");
$strSectionDelete = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "SECTION_DELETE");
$arSectionDeleteParams = array("CONFIRM" => GetMessage('CT_BCSL_ELEMENT_DELETE_CONFIRM'));

?>

<div class="page-header">
   <div class="container">
      <div class="row">
         <div class="span12">

<?
if ('Y' == $arParams['SHOW_PARENT_NAME'] && 0 < $arResult['SECTION']['ID'])
{
   $this->AddEditAction($arResult['SECTION']['ID'], $arResult['SECTION']['EDIT_LINK'], $strSectionEdit);
   $this->AddDeleteAction($arResult['SECTION']['ID'], $arResult['SECTION']['DELETE_LINK'], $strSectionDelete, $arSectionDeleteParams);

   ?><h1><?
      echo (
         isset($arResult['SECTION']["IPROPERTY_VALUES"]["SECTION_PAGE_TITLE"]) && $arResult['SECTION']["IPROPERTY_VALUES"]["SECTION_PAGE_TITLE"] != ""
         ? $arResult['SECTION']["IPROPERTY_VALUES"]["SECTION_PAGE_TITLE"]
         : $arResult['SECTION']['NAME']
      );
   ?></h1><?
}?>

         </div>         
      </div>
   </div>
</div>
   
   
<div class="container">
   <div class="row">
      <div class="span12">
      
<?if (0 < $arResult["SECTIONS_COUNT"]):?>
      
<div class="tagsCloud1">   

<div class="header">Выберите</div>   

<div class="links1">
            <?
            $CURRENT_DEPTH = $arResult["SECTION"]["DEPTH_LEVEL"] + 1;
            $topDepth = $CURRENT_DEPTH;
            foreach ($arResult["SECTIONS"] as $arSection):
                $this->AddEditAction($arSection['ID'], $arSection['EDIT_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_EDIT"));
                $this->AddDeleteAction($arSection['ID'], $arSection['DELETE_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_DELETE"), array("CONFIRM" => GetMessage('CT_BCSL_ELEMENT_DELETE_CONFIRM')));
                ?>
                <?
                if ($CURRENT_DEPTH < $arSection["DEPTH_LEVEL"]) {
                    echo '';
                } elseif ($CURRENT_DEPTH > $arSection["DEPTH_LEVEL"]) {
                    echo '';
                    if ($topDepth == $arSection["DEPTH_LEVEL"]) {
                        echo '';
                    }
                }
                $sectionClasses = "";
                $sectionClasses .= " level" . $arSection["DEPTH_LEVEL"];
                if ($arSection["PARENT"]) {
                    $sectionClasses .= " parent";
                }
                ?>
                    <a href="<? echo $arSection["SECTION_PAGE_URL"]; ?>" title="<? echo $arSection["NAME"]; ?>">
                        <? echo $arSection["NAME"]; ?>
                        <?
                        if ($arParams["COUNT_ELEMENTS"]) {
                            echo ' ' . $arSection["ELEMENT_CNT"];
                        }
                        ?>
                    </a>

                    <?
                    if (!$arSection["PARENT"] || $CURRENT_DEPTH < $arSection["DEPTH_LEVEL"]) {
                        echo '';
                        if ($topDepth == $arSection["DEPTH_LEVEL"]) {
                            echo '';
                        }
                    }
                    $CURRENT_DEPTH = $arSection["DEPTH_LEVEL"];
                    ?>
                <? endforeach; ?>

</div></div>

<?else:?>         
   
<div class="tagsCloud1">   

<div class="header">Выберите</div>   

<div class="links1">
            
            
                sasdddddddd
            
            

</div></div>
<?endif;?>

 

 

Источник: https://dev.1c-bitrix.ru/community/forums/messages/forum6/topic73593/message383686/#message383686

Назад в раздел

Подписаться на новые материалы раздела:














CAPTCHA