Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Вставка произвольного свойства в текст новости через макрос

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Вставка произвольного свойства в текст новости через макрос

Задача: дать контент-менеджерам возможность вставлять содержимое любого
свойства прямо в текст статьи/новости. Расскажу на примере "привязка к элементам инфоблока",
чтобы прямо в текст можно было вставлять связанные со статьей товары.
Можно оставить кеширование catalog.section включенным, но тогда лучше перенести буферизацию в component_epilog.php

Тогда в result_modifier.php добавляем передачу кешированных данных component_epilog.php
Код
$cp = $this->__component;
if (is_object($cp)) {
    $cp->arResult['LINKED_GOODS'] = $arResult['PROPERTIES']['ATT_LINKED_GOODS'];
    $cp->SetResultCacheKeys([
        'LINKED_GOODS',
        'DETAIL_TEXT'
    ]);
}

В самом component_epilog.php передаем детальный текст в template.php c помощью SetViewTarget
Код
// .component_epilog.php
<?
$this->SetViewTarget('news_detail');
      echo $arResult['DETAIL_TEXT'];
$this->EndViewTarget();
?> 

// в template.php
<?$APPLICATION->ShowViewContent('news_detail');?>
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить файлы
 

Блог-note Заметки по 1С-Битрикс