Как в Битрикс вывести свойство DETAIL_TEXT по условию?

Для вывода свойства DETAIL_TEXT по условию в 1C-Bitrix, вам потребуется использовать шаблонизатор компонента "Элемент" (bitrix:news.detail) и добавить код для проверки условия.

Шаг 1: Настройка компонента "Элемент"
Создайте шаблон компонента "Элемент" в папке /local/templates/your_template/components/bitrix/news.detail/
Если шаблон уже создан, пропустите этот шаг. Если у вас еще нет своего шаблона, рекомендуется скопировать базовый шаблон компонента из папки /bitrix/templates/. В файле шаблона найдите и отредактируйте следующие строки:

<?php if($arResult["DETAIL_TEXT"]):?>
    <div class="detail_text">
        <?=$arResult["DETAIL_TEXT"]?>
    </div>
<?php endif;?>

Шаг 2: Добавление условия на вывод свойства DETAIL_TEXT
В файле /bitrix/components/bitrix/news.detail/component.php найдите и отредактируйте следующий код:

if ($arParams["CHECK_CONDITION"]) {
    // Проверяем условие
    if ($arResult["PROPERTIES"]["YOUR_CONDITION_PROPERTY"]["VALUE"]) {
        $this->abortResultCache();
        // Выводим свойство DETAIL_TEXT, если условие выполняется
        $arResult["DETAIL_TEXT"] = $arResult["PROPERTIES"]["DETAIL_TEXT"]["VALUE"]["TEXT"];
    } else {
        // Выводим другой текст, если условие не выполняется
        $arResult["DETAIL_TEXT"] = "Условие не выполнено";
    }
}

В данном коде мы добавляем проверку условия с помощью переменной $arParams["CHECK_CONDITION"]. Если условие выполняется, мы переопределяем значение $arParams["CHECK_CONDITION"], чтобы кэш компонента не использовался, и присваиваем переменной $arResult["DETAIL_TEXT"] значение свойства DETAIL_TEXT. Если условие не выполняется, мы можем сделать вывод другого текста.

Шаг 3: Добавление параметра в компонент
В файле /bitrix/components/bitrix/news.detail/.parameters.php найдите и отредактируйте следующие строки:

$arComponentParameters = array(
    ...
    "PARAMETERS" => array(
        ...
        "CHECK_CONDITION" => array(
            "PARENT" => "BASE",
            "NAME" => GetMessage("CHECK_CONDITION"),
            "TYPE" => "CHECKBOX",
            "DEFAULT" => "N", // Значение по умолчанию
        ),
        ...
    ),
);

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

Шаг 4: Использование компонента
Теперь, когда мы настроили компонент "Элемент", мы можем использовать его на странице инфоблока и передать значение параметра CHECK_CONDITION:

$APPLICATION->IncludeComponent(
    "bitrix:news.detail",
    "",
    Array(
        ...
        "CHECK_CONDITION" => "Y", // Значение параметра CHECK_CONDITION
        ...
    )
);

В данном примере мы передаем значение "Y" в параметр CHECK_CONDITION, что означает, что условие будет выполняться, и свойство DETAIL_TEXT будет выведено на страницу.

Замечание: Проверка условия основывается на значении свойства YOUR_CONDITION_PROPERTY объекта. Замените YOUR_CONDITION_PROPERTY на код вашего свойства, которое содержит условие для вывода свойства DETAIL_TEXT.