172  /  331

Модификация шаблона простого компонента в составе комплексного

Просмотров: 2302 (Статистика ведётся с 06.02.2017)

Комплексный компонент обеспечивает взаимодействие простых компонентов с общей тематикой. Простые компоненты содержат код непосредственной работы с данными. Например, компоненты соцсети настраивать по отдельности неудобно.

Но если надо лишь изменить внешний вид некоторых элементов, это можно легко сделать, не отказываясь от остальных стандартных шаблонов.

Желательно обходиться без кастомизации компонента там, где в этом нет особой необходимости. В этом случае:

  • не теряются обновления;
  • легче решать проблемы через техподдержку (ТП не занимается решением проблем, возникающих в работе кастомного кода если явно не обозначена ошибка в работе API);
  • в комплексных компонентах стандартно реализован AJAX.

В качестве примера возьмем компонент Социальная сеть. Задача: заменить форму редактирования описания группы (textarea) на визуальный редактор с возможностью вставки html.

Внимание! После решения этой задачи нужно модифицировать шаблон компонента вывода описания, чтобы не экранировались теги html. Но решение аналогичное и выходит за рамки этого описания.

Как сделать

  • Скопируйте шаблон компонента
  • Сделайте замену в шаблоне:
    <textarea name="GROUP_DESCRIPTION"     style="width:98%" rows="5"><?= $arResult["POST"]["DESCRIPTION"]; ?></textarea>
    на
    <input type=hidden name="GROUP_DESCRIPTION"><?
    $GLOBALS['APPLICATION']->IncludeComponent( 
       "bitrix:fileman.light_editor", 
       ".default", 
       Array( 
          "CONTENT" => htmlspecialchars_decode($arResult["POST"]["DESCRIPTION"]), 
          "INPUT_NAME" => "GROUP_DESCRIPTION", 
          "WIDTH" => "98%", 
          "HEIGHT" => "200px", 
          "USE_FILE_DIALOGS" => "N", 
          "FLOATING_TOOLBAR" => "N", 
          "ARISING_TOOLBAR" => "N", 
          "VIDEO_ALLOW_VIDEO" => "N",
       ) 
    );
    ?>

Получаем результат. Было:

Стало:

При этом весь остальной код остаётся стандартный, т.е. будет обновляться и поддерживаться компанией "1С-Битрикс".


11
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии