Как правильно настроить компоненты bitrix:news.list и bitrix:news.detail?

Как можно вывести список новостей на главной странице и подробнее отобразить новость в разделе "Projects"?
Изображение к вопросу
  • 16 сентября 2023 г. 5:07
Ответы на вопрос 1
Для правильной настройки компонентов `bitrix:news.list` и `bitrix:news.detail` вам потребуется выполнить следующие шаги:

1. Сначала вам нужно создать инфоблок для хранения новостей. Для этого перейдите в административную панель Битрикса, откройте раздел "Инфоблоки" и создайте новый инфоблок с типом "Новости" (или любым другим удобным вам типом). Затем нужно создать необходимые свойства инфоблока, такие как "Заголовок новости", "Анонс новости", "Текст новости" и т. д.

2. Компонент `bitrix:news.list` используется для вывода списка новостей на главной странице. Чтобы настроить его, вам необходимо создать шаблон компонента. Для этого создайте файл с расширением `.php`, например, `template.php`, и добавьте следующий код:

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

<ul>
<?php foreach ($arResult["ITEMS"] as $arItem): ?>
    <li>
        <a href="<?= $arItem["DETAIL_PAGE_URL"] ?>"><b><?= $arItem["NAME"] ?></b></a>
        <p><?= $arItem["PREVIEW_TEXT"] ?></p>
    </li>
<?php endforeach; ?>
</ul>
```

Затем настройте компонент `bitrix:news.list` в соответствии с вашими требованиями, указав ID инфоблока, шаблон компонента и др.

3. Для отображения подробной информации о новости в разделе "Projects", используйте компонент `bitrix:news.detail`. Создайте шаблон компонента `detail.php` и добавьте в него следующий код:

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

<h1><?= $arResult["NAME"] ?></h1>
<p><?= $arResult["DETAIL_TEXT"] ?></p>
```

Затем настройте компонент `bitrix:news.detail` в соответствии с вашими требованиями, указав ID инфоблока, шаблон компонента и др.

4. Наконец, чтобы вывести список новостей на главной странице, добавьте на нужную страницу компонент `bitrix:news.list` с указанием созданного вами шаблона компонента. Например:

```php
<?$APPLICATION->IncludeComponent(
    "bitrix:news.list",
    "",
    Array(
        "IBLOCK_ID"            => "1",
        "NEWS_COUNT"           => "10",
        "SORT_BY1"             => "ACTIVE_FROM",
        "SORT_ORDER1"          => "DESC",
        "SET_TITLE"            => "N",
        "PROPERTY_CODE"        => array(""),
        "CACHE_TYPE"           => "A",
        "CACHE_TIME"           => "36000000",
        "DISPLAY_PANEL"        => "N",
        "SET_STATUS_404"       => "N",
        "INCLUDE_IBLOCK_INTO_CHAIN" => "N",
    ),
    false
);?>
```

5. Для отображения подробной информации о новости в разделе "Projects", добавьте на соответствующую страницу компонент `bitrix:news.detail` с указанием созданного вами шаблона компонента. Например:

```php
<?$APPLICATION->IncludeComponent(
    "bitrix:news.detail",
    "",
    Array(
        "IBLOCK_ID"            => "1",
        "ELEMENT_ID"           => $arResult["VARIABLES"]["ELEMENT_ID"],
        "CHECK_DATES"          => "Y",
        "CACHE_TYPE"           => "A",
        "CACHE_TIME"           => "36000000",
        "SET_TITLE"            => "Y",
        "PROPERTY_CODE"        => array(""),
    ),
    false
);?>
```

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