Как получить информацию о текущем разделе (описание, фото) в комплексном компоненте bitrix:catalog в section.php

Для получения информации о текущем разделе каталога в компоненте bitrix:catalog в файле section.php, вы можете использовать классы и методы, предусмотренные инфраструктурой Bitrix. Вот основные шаги и пример кода, как это можно сделать:

Как получить информацию от текущем разделе в section.php
  1. Получение ID текущего раздела:

    Обычно ID текущего раздела не доступен в переменной $arResult['ID'], но может быть получен из $arResult['VARIABLES']['SECTION_CODE'].

  2. Использование SectionTable для получения данных:

    Вы можете использовать класс SectionTable для извлечения информации о разделе.

<?php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();

use Bitrix\Main\Loader;
use Bitrix\Iblock;

Loader::includeModule("iblock");

$arResult['SECTION_ID'] = CIBlockFindTools::GetSectionID(
	$arResult['VARIABLES']['SECTION_ID'],
	$arResult['VARIABLES']['SECTION_CODE'],
	array('IBLOCK_ID' => $arParams['IBLOCK_ID'])
);

$sectionId = $arResult['SECTION_ID']; // Идентификатор текущего раздела

// Проверяем, задан ли ID
if ($sectionId > 0) {
    // Получение информации о разделе
    $sectionInfo = Iblock\SectionTable::getList(array(
        'filter' => array('ID' => $sectionId),
        'select' => array(
            'ID',
            'NAME',
            'DESCRIPTION',
            'PICTURE'
        )
    ))->fetch();

    // Обработка изображения
    if ($sectionInfo['PICTURE']) {
        $sectionInfo['PICTURE'] = CFile::GetFileArray($sectionInfo['PICTURE']);
    }

    // Вывод описания
    if ($sectionInfo) {
        // Выводим название и описание раздела
        echo "<h1>" . htmlspecialchars($sectionInfo['NAME']) . "</h1>";
        echo "<p>" . htmlspecialchars($sectionInfo['DESCRIPTION']) . "</p>";

        // Вывод изображения
        if ($sectionInfo['PICTURE']) {
            echo '<img src="' . htmlspecialchars($sectionInfo['PICTURE']['SRC']) . '" alt="' . htmlspecialchars($sectionInfo['NAME']) . '">';
        }
    }
}
?>

Объяснение кода:

  • Подключение модуля: Сначала нужно подключить модуль iblock, без этого работа с инфоблоками будет невозможна.
  • Получение ID раздела: Сначала получаем ID нашего раздела. Для этого воспользуемся очень классом CIBlockFindTools и его методом GetSectionID.
  • Запрос к базе данных: С помощью класса SectionTable вы получаете данные из инфоблока о конкретном разделе.
  • Обработка изображения: Если привязано изображение, его нужно получить через CFile::GetFileArray.
  • Вывод данных: Информация о разделе выводится в HTML, с некоторой обработкой для экранирования (через htmlspecialchars) для безопасности.

Учтите, что этот код — упрощенный пример. На практике вам, возможно, нужны дополнительные поля и особенности вывода, которые зависят от ваших настроек и структуры проекта.

Теги:  bitrix:catalog, текущий раздел, информация о разделе, фото раздела, описание раздела, section.php в Битрикс, комплексный компонент, вывод информации о разделе, разработка на Битрикс, PHP для Битрикс.


Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Техническая поддержка

выполняется с сайтами на основе любых CMS

от 5 000 рублей
Оптимизация производительности действующих интернет-проектов, наполнение и сопровождение, полная техническая поддержка и продвижение в поисковых сетях.

* стоимость зависит от объема и сложности выполняемых работ, используемой CMS.

Модули и компоненты для «1С-Битрикс»

оценка производится на основе предоставленного Технического Задания

от 20 000 рублей
Разработка дополнительных модулей для 1С-Битрикс, расширение функционала, внедрение любых решений, требующихся для выполнения ваших бизнес-задач.

* стоимость зависит от конкретной задачи, ее объема и сложности выполняемых работ.

Аутсорсинг

готов помочь, если нет времени

договорная

Могу взять на себя работы по full-stack на основе готовой верстки

* если нет верстки, то возможность верстать с Figma в режиме редактора