Wiki

Clone wiki

sprint.editor / Components

Подключение компонента sprint.editor:blocks

Обратите внимание что если вы подключаете редактор в шаблоне другого компонента, необходимо передать родительский компонент 4 параметром

Примеры

Вы подключили редактор в шаблоне компонента bitrix:news.detail

<?$APPLICATION->IncludeComponent(
    "sprint.editor:blocks",
    ".default",
    Array(
        "ELEMENT_ID" => $arResult["ID"],
        "IBLOCK_ID" => $arResult["IBLOCK_ID"],
        "PROPERTY_CODE" => "EDITOR1",
    ),
    $component,
    Array(
        "HIDE_ICONS" => "Y"
    )
);?>

Вы подключили редактор к элементам инфоблока

<?$APPLICATION->IncludeComponent(
    "sprint.editor:blocks", 
    ".default", 
    Array(
        "IBLOCK_ID" => 29,
        "ELEMENT_ID" => 2994,
        "PROPERTY_CODE" => "EDITOR1",
    ),
    false,
    Array(
        "HIDE_ICONS" => "Y"
    )
);?>

Вы подключили редактор к элементам инфоблока и не указали код свойства редактора - тогда компонент сам найдет все редакторы у этого элемента и отобразит

<?$APPLICATION->IncludeComponent(
    "sprint.editor:blocks", 
    ".default", 
    Array(
        "IBLOCK_ID" => 29,
        "ELEMENT_ID" => 2994,
    ),
    false,
    Array(
        "HIDE_ICONS" => "Y"
    )
);?>

Вы подключили редактор к разделам инфоблока с помощью пользовательского поля

<?$APPLICATION->IncludeComponent(
    "sprint.editor:blocks", 
    ".default", 
    Array(
        "IBLOCK_ID" => 123,
        "SECTION_ID" => 111,
        "PROPERTY_CODE" => "UF_EDITOR1",
    ),
    false,
    Array(
        "HIDE_ICONS" => "Y"
    )
);?>

вы самостоятельно получили содержимое поля редактора блоков (например у пользовательского поля) и отображаете его

<?$APPLICATION->IncludeComponent(
    "sprint.editor:blocks", 
    ".default", 
    Array(
        "JSON" => "[]",
    ),
    false,
    Array(
        "HIDE_ICONS" => "Y"
    )
);?>

Пример подключения редактора если он установлен в пользовательское поле категории инфоблока Убедитесь что в параметр компонента JSON - передается валидное содержимое редактора в формате json

используете метод Fetch() вместо GetNext() чтобы избежать двойного декодирования строки json в html-сущности

<?
\CModule::IncludeModule("iblock");
$aSection = \CIBlockSection::GetList(Array(), Array(
    "IBLOCK_ID" => 5,
    "ID" => 1
), false, Array(
    "ID",
    "IBLOCK_ID",
    "UF_EDITOR1"
))->Fetch();

$APPLICATION->IncludeComponent(
    "sprint.editor:blocks", 
    ".default", 
    Array(
        "JSON" => $aSection["UF_EDITOR1"],
    ),
    false,
    Array(
        "HIDE_ICONS" => "Y"
    )
);
?>

Пример подключения редактора как включаемой области в произвольном месте сайта.

Создадим инфоблок с включаемыми областями, например с кодом include_areas и типом content, создадим в инфоблоке свойство с редактором с EDITOR1, создадим элемент с кодом common_information_1, заполним и выведем его в произвольном месте сайта

параметр SHOW_AREAS - позволит отобразить битриксовую панельку с возможностью редактирования этой области

<? $APPLICATION->IncludeComponent("sprint.editor:blocks", ".default", [
    'IBLOCK_TYPE' => 'content',
    'IBLOCK_CODE' => 'include_areas',
    'ELEMENT_CODE' => 'common_information_1',
    'PROPERTY_CODE' => 'EDITOR1',
    'SHOW_AREAS' => 'Y',
]); ?>

Updated