В Bitrix существует несколько способов для вывода текста или HTML-кода в конкретной категории. Предположим, что вы хотите вывести данные из инфоблока с фильтрацией по категории. Для этого следует использовать компоненты и методы работы с инфоблоками.
Вот общий подход:
### 1. Использование компонента "Новости"
Если у вас есть инфоблок с данными (например, "Новости"), вы можете использовать стандартный компонент "Кatalog", передав ему параметры для фильтрации.
```php
<?php
$APPLICATION->IncludeComponent(
"bitrix:news.list",
"",
array(
"IBLOCK_TYPE" => "your_iblock_type",
"IBLOCK_ID" => your_iblock_id,
"NEWS_COUNT" => "20",
"FILTER_NAME" => "arrFilter", // Передаем название переменной для фильтрации
"SORT_BY1" => "SORT",
"SORT_ORDER1" => "ASC",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
// другие параметры компонента
),
false
);
?>
```
### 2. Установка фильтрации
Для фильтрации можно использовать массив `$arrFilter`. Например, если вам нужно фильтровать по категории:
```php
$arrFilter = array(
"SECTION_ID" => your_section_id, // ID выбранной категории
"ACTIVE" => "Y" // Только активные элементы
);
```
### 3. Вывод HTML-кода
Чтобы вывести произвольный HTML-код, можно использовать метод вывода через `echo`, либо добавлять HTML в шаблон компонента.
Например:
```php
<div class="custom-html-block">
<h2>Ваш заголовок</h2>
<p>Ваш текст или HTML-код здесь.</p>
</div>
```
### 4. Использование пользовательского компонента
Если стандартный компонент не подходит, можно создать пользовательский компонент на основе существующего или с нуля:
1. Создайте директорию для вашего компонента в `local/components/your_namespace/your_component`.
2. Создайте файл `component.php` и напишите логику получения и вывода данных из инфоблока с фильтрацией по категории.
### Пример кода для пользовательского компонента
```php
<?php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$arParams["SECTION_ID"] = $arParams["SECTION_ID"] ?: 1;
$filter = array(
"SECTION_ID" => $arParams["SECTION_ID"],
"ACTIVE" => "Y"
);
$res = CIBlockElement::GetList(
array("SORT" => "ASC"),
$filter,
false,
false,
array("ID", "NAME", "DETAIL_TEXT")
);
while($ob = $res->GetNext()) {
echo "<div>";
echo "<h3>" . $ob['NAME'] . "</h3>";
echo "<p>" . $ob['DETAIL_TEXT'] . "</p>";
echo "</div>";
}
?>
```
### Итоги
Выбор подхода зависит от ваших потребностей и от того, насколько гибко вы хотите настраивать вывод информации. Если вы хотите просто модифицировать стандартный вывод, то компоненты "Новости" или "Кatalog" подойдут. Если нужен более глубокий контроль, следует рассмотреть создание собственного компонента.