Разработчик Bitrix Framework. Компоненты. Часть 2

1. При разработке шаблона компонента разработчик

  • может использовать все возможности языка PHP
  • обязан использовать альтернативный синтаксис для управляющих конструкций языка PHP ( :, endif, endforeach и др)

2. Если вам необходимо разместить на сайте собственный функционал, наиболее правильным с точки зрения Bitrix Framework будет:

  • разместить PHP-код на странице сайта, с помощью API Bitrix Framework получить, обработать и вывести данные
  • разместить PHP-код на странице сайта, напрямую обратившись к базе данных и получив из нее информацию
  • разработать собственный компонент и в дальнейшем разместить его на требуемых страницах сайта

3. Управляемый кеш компонентов инфоблоков очищается при вызове метода:

  • Update
  • Add
  • Delete

4. Изменение логики работы компонента:

  • осуществляется при кастомизации шаблона компонента
  • осуществляется с помощью файлов result_modifier.php и component_epilog.php
  • осуществляется при кастомизации компонента

5. Какие из утверждений верны:

  • если страница с настроенным в режиме ЧПУ компонентом, создана не с помощью API, а записана, например, через FTP, то необходимо выполнить пересоздание правил на странице настройки правил обработки адресов
  • для комплексных компонентов с поддержкой ЧПУ правила обработки адресов всегда создаются автоматически
  • правила обработки адресов создаются автоматически, если страница с настроенным в режиме ЧПУ компонентом, сохранена с помощью API
  • независимо от того, каким образом создана страница с настроенным в режиме ЧПУ компонентом, следует сразу после создания перейти к пересозданию правил на странице настройки правил обработки адресов

6. Для дополнения и неявного изменения (без вмешательства в код) логики работы компонента:

  • используйте технологию Событий
  • используйте возможности файла result_modifer.php
  • используйте возможности файла component_epilog.php

7. Для запуска механизма тегированного кеша компонентов инфоблоков необходимо:

  • в методе Fetch/GetNext конкретного объекта вызывать $CACHE_MANAGER->RegisterTag(«iblock_id_».$res[«IBLOCK_ID»])
  • в методе StartResultCache компонента вызывать StartTagCache с путем к кешу компонента (с учетом страницы)
  • определить константу BX_COMP_MANAGED_CACHE в файле dbconn.php

8. Файл result_modifier.php предназначен для

  • изменения сгенерированного html-кода для внесения в него информации о кодировке сайта
  • изменения результата работы компонента
  • сохранения данных, добавленных из публичной части сайта
  • изменения шаблона компонента

9. Для изменения и дополнения кешируемых данных, выводимых компонентом:

  • используйте возможности файла result_modifer.php.
  • используйте технологию Событий.
  • используйте возможности файла component_epilog.php.
  • модифицируйте шаблон компонента.

10. В теле комплексного компонента могут вызываться

  • любые компоненты
  • только простые компоненты из того же модуля, что и текущий компонент
  • только простые компоненты из любого доступного модуля системы

11. Для реализации логики, отрабатывающей при каждом вызове компонента независимо от кеширования:

  • используйте возможности файла component_epilog.php
  • модифицируйте шаблон компонента
  • скопируйте компонент в свое пространство имен и изменяйте его

12. Чтобы шаблон компонента мог работать с пользовательским движком шаблонизации, необходимо:

  • в файл .parameters.php шаблона компонента добавить описание переменной движка шаблонизации
  • изменить расширение файла шаблона компонента на расширение, с которым работает движок шаблонизации
  • в файл template.php шаблона компонента добавить описание переменной движка шаблонизации
  • в файл /bitrix/php_interface/init.php добавить описание переменной движка шаблонизации

13. Чтобы изменить логику простого компонента в составе комплексного, следует:

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

14. Если в компоненте необходимо использовать технологию Событий, то выполняются следующие действия:

  • копируется папка компонента и добавляется необходимый код в логику компонента
  • копируется шаблон компонента и добавляется необходимый код в шаблон

15. Кастомизация шаблона компонента, как правило, преследует цели:

  • организация вывода данных компонента в виде, недоступном в стандартном варианте
  • изменение фильтров для выборки из БД
  • изменение параметров подключения компонента
  • приведение формы вывода данных компонента в соответствие с дизайном сайта
  • вывода необходимых полей, если стандартный компонент не делает этого

16. Идентификатор кеша компонента формируется на основе:

  • параметров компонента
  • имени компонента
  • внешних условий, которые определяются в компоненте
  • имени шаблона компонента
  • ID текущего сайта, который определяет путь к файлу с кешем

17. Причины ошибки «Не удалось обнаружить код вызова компонента»:

  • компонент не настроен на информационный блок
  • код компонента расположен перед подключением файла header.php
  • несколько одинаковых компонентов на странице
  • закомментированная функция php_value mbstring
  • код вызова компонента не отделен от другого php-кода
  • ошибка в расстановке html-тегов
  • компонент находится в собственном пространстве имен
  • не настроены параметры компонента

18. Файл result_modifier.php:

  • позволяет не кастомизировать компонент и не отказываться от его поддержки и обновлений
  • инструмент для модификации данных работы компонента произвольным образом
  • может применяться при работе с включенным кешированием, но допускается только изменение arResult
  • подключается после исполнения шаблона
  • подключается в режиме кеширования
  • позволяет запросить дополнительные данные и занести их в массив результатов работы компонента $arResult
  • вызывается перед подключением шаблона компонента

19. Следующий код: ?$APPLICATION- >IncludeComponent( «bitrix:catalog.main», «», Array() );

  • выдаст сообщение о том, что шаблон не найден
  • неверен
  • подключит указанный компонент с шаблоном .default
  • подключит указанный компонент с системным шаблоном

20. Чтобы избежать избыточных данных кеша в компоненте следует:

  • использовать конструкцию SetResultCacheKeys в component.php
  • регулярно очищать папку /bitrix/cache
  • использовать переменную $CACHE_MANAGER в component.php
  • отказаться от использования файла component_epilog.php

 

[ Посмотреть ответы ]