188  /  382
Справочник

Работа с компонентами

Просмотров: 41541
Дата последнего изменения: 16.03.2022
Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5
Недоступно в лицензиях:
Ограничений нет

Цитатник веб-разработчиков.

Антон Долганин: Строжайше запрещено писать любую PHP-логику на обычной странице сайта. Любой php-код должен инкапсулироваться в компоненты. Максимум, что позволяется - использовать подключение скриптов с помощью IncludeFile, но это если разработчик полностью отдает себе отчет в том, что этого делать нельзя и это будет исправлено в ближайшее время, или того действительно требует логика проекта (единичные случаи).

Компонент – основной способ вывода информации в Bitrix Framework. Соответственно именно работа с ним дает максимальные возможности по изменению условий вывода данных и изменению (добавлению) функционала системы.

Рекомендуемое соотношение задач и способов их решений:

  • Для решения задач изменения формы вывода данных модифицируйте шаблон компонента.
  • Для изменения и дополнения кешируемых данных, выводимых компонентом, используйте возможности файла result_modifier.php.
  • Для реализации логики, отрабатывающей при каждом вызове компонента независимо от кеширования, используйте возможности файла component_epilog.php.
  • Для дополнения и неявного изменения (без вмешательства в код) логики работы компонента можно использовать технологию Событий.
  • Для дополнения логики работы компонента копируйте компонент в свое пространство имен и изменяйте его.
  • Для создания новой логики и новых возможностей создавайте компонент заново.

Достаточно часто задачу приходится решать комбинацией методов. То есть, например, редактировать шаблон и добавлять код в result_modifier.php.

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

Внимание! Осуществляя любые действия по работе с компонентами надо также учитывать кеширование. Внедрение тяжелых кодов в component_epilog.php под кеширование не попадает. И бывают случаи, когда все же правильнее кастомизировать компонент, что дает выигрыш в производительности (особенно, если какой-то тяжелый код используется на главной или наиболее часто посещаемой странице).



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

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