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

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

Вопросы и ответы по 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С-Битрикс