Складається з компонента і шаблона



Скачати 22.52 Kb.
Дата конвертації29.04.2020
Розмір22.52 Kb.
Компонент – це основний інструмент розробника який ,використовується для виводу інформації з інформаційних блоків шляхом перетворення в штмл код і виводу у вигляді веб сторінки.

Складається з компонента і шаблона



  1. Простой компонент реализует вывод на одной физической странице, доступной под конкретным URL.  данные из разных инфоблоков (новости и каталог товаров)

  2. Комплексный же компонент заменяет собой набор простых компонентов  создают разделы сайта.  комплексный компонент состоит из набора динамических страниц при просмотре сайта, но из одной статической страницы на физическом уровне.

$arParams -> component.php -> $arParams ->template.php->HTML-c..

->$arResult ->template.php->HTML->cache



 Carrier Rider Mapper.

Поток информации от носителя к клиенту (считывание): Carrier > Reader > Scanner > Client.

Поток информации от клиента к носителю (запись): Carrier < Writer < Formatter < Client.

Компоненты используются для:



  • создания полнофункциональных разделов на сайте, например новостного раздела, фотогалереи, каталога товаров и т.д. Такие разделы создаются с помощью комплексных компонентов;

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

  • представления динамически обновляемой информации (например, ленты новостей, случайного фото);

  • выполнения любых других операций с данными.

В файле .description.php содержится описание компонента. Это описание применяется для работы с компонентом (например, в визуальном редакторе), а также при работе в режиме редактирования сайта. 

  • "NAME" - название компонента;

  • "DESCRIPTION" - описание компонента;

  • "ICON" - путь к пиктограмме компонента относительно папки компонента. Значок компонента используется в разных частях системы, например: в визуальном редакторе. (Параметр устарел, его можно не использовать. При создании собственных компонентов можно создавать .descripton.php без ICON, несмотря на то, что во многих старых компонентах ICON присутствует.)

  • "NAME" - название компонента;

  • "DESCRIPTION" - описание компонента;

  • "ICON" - путь к пиктограмме компонента относительно папки компонента. Значок компонента используется в разных частях системы, например: в визуальном редакторе. (Параметр устарел, его можно не использовать. При создании собственных компонентов можно создавать .descripton.php без ICON, несмотря на то, что во многих старых компонентах ICON присутствует.)

  • "PATH" - расположение компонента в виртуальном дереве компонента в визуальном редакторе. Значением этого элемента должен быть массив, имеющий ключи:

    • "ID" - код ветки дерева. ID узла должен быть уникальным в пределах всего дерева компонент (включая стандартные). Если у узлов будут два одинаковых ID, то оба не будут открываться. Например, для компонента собственной разработки выбран узел ID = "news", а такой ID уже есть для стандартных компонентов.

    • "NAME" - название ветки дерева. Необходимо обязательно указать. NAME берется из первого попавшегося компонента в узле. Если его не оказалось либо нет нужной языковой константы - в качестве NAME используется ID.

    • "CHILD" - дочерняя или подчиненная ветка. В элементе с ключом "CHILD" может быть задана подчиненная ветка дерева с той же структурой, что и родительская ветка.

Параметри

В файле .parameters.php содержится описание входных параметров компонента. Данные файла нужны исключительно для создания формы ввода свойств компонента в среде Bitrix Framework (например, в визуальном редакторе).

массив $arComponentParameters, который описывает входные параметры компонента.

Если необходимо, производится выборка каких-либо дополнительных данных. (входной параметр IBLOCK_TYPE_ID)

В каждой группе параметров параметры располагаются в том порядке, в котором заданы в файле.

ШАБЛОН

Шаблон компонента - программный код, преобразующий данные, подготовленные компонентом, непосредственно в HTML-код.

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

Шаблон простого компонента

Папка шаблона простого компонента может содержать следующие подпапки и файлы:



  • подпапку /lang, в которой расположены файлы языковых сообщений (переводов) шаблона компонента;

  • файл result_modifier.php, который подключается непосредственно перед подключением шаблона компонента. Этот файл получает на вход массив результатов работы компонента $arResult и массив параметров вызова компонента $arParams. Таким образом, можно, например, изменить массив результатов работы компонента под конкретный шаблон.

  • файл component_epilog.php, который подключается после исполнения шаблона.

  • файл style.css, который определяет стили, необходимые данному шаблону.

  • файл script.js, который определяет и подключает яваскрипты, необходимые данному шаблону. Этот файл может отсутствовать.

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

    Пример файла .description.php

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

    Пример файла .parameters.php

  • файл template.ext, который и является собственно шаблоном. Расширение ext зависит от того, какой движок шаблонизации нужно подключать. По умолчанию расширение равно php. Этот файл должен обязательно присутствовать.

  • любые другие папки и файлы с ресурсами, необходимыми шаблону компонента. Например, папка image, содержащая изображения, необходимые шаблону.

Шаблон комплексного компонента

Шаблон комплексного компонента содержит все те же папки, что и шаблон простого компонента, и дополнительно:



  • шаблоны простых компонентов, которые входят в состав комплексного. Эти шаблоны располагаются в папках вида /пространство_имен/название_простого_компонента/ относительно папки шаблона комплексного компонента.

  • простые компоненты, входящие в состав комплексного, подключаются на шаблонах страниц комплексного компонента.


Поддержка классов компонентов


 Class.php -> $APPLICATION->IncludeComponent--Class()

Для виділення логики компонента в класс і не замусорювати  component.php.Підключення автолоадом



Без компонента включити в клас $this->includeComponentTemplate();

result_modifier.php, він вызывается перед подключением шаблона.тобто темлпате.

І підключається за умови кешування.

__component->SetResultCacheKeys(array("PROPERTIES"));?>

В цьому файлі можна запросити додаткові дані і занести їх в масив $arResult. Є корисним як в нашому випадку ми кастомізували лише вивід дати шляхом залучення цього файла. Або могли кастомізувати сам компонент що впринципі не рекомундується внаслідок втрати підтримки оновлення бітрікса.

Файл component_epilog.php - инструмент для модификации данных работы компонента с включенным кешированием. Підключається останнім після кешування і виведення шаблона

В випадку співпадіння данних в компонент епілог і в самому компоненті після після підключення шаблона будуть виведення лише дані компонента а не component_epilog.php.

Зміна логіки работи компонентів за допомогою цих файлов не потребує модифікації кода самого компонента. 

Поділіться з Вашими друзьями:


База даних захищена авторським правом ©res.in.ua 2019
звернутися до адміністрації

    Головна сторінка