Компоненты 2.0 1C-Битрикс: управление сайтом Артем Рябинков к.т.н, руководитель отдела партнерских и корпоративных продаж Компания «Битрикс»
Компоненты в продукте Предназначены для размещения на веб-страницах сайта различной динамической информации и управления форматом ее отображения. В режиме визуального редактирования на странице могут быть выведены следующие программные компоненты: Легкое управление отображением динамической информации! информационные блоки (новости, пресс-релизы, фотогалереи, вакансии и т.п.); каталог товаров, корзина; веб-формы, опросы; блоги, форумы; управление рассылками и подпиской произвольный PHP-скрипт Визуальный компонент – это логически завершенный программный код, выполняющий те или иные операции с данными, хранящимися в модулях продукта.
Преимущества для конечных пользователей Простота размещения компонентов и управления ими Не требуется работа с программным кодом Визуальное построение сайта Многообразие компонентов: системные компоненты и компоненты партнеров Регулярное обновление системных компонентов с использованием SiteUpdate Унификация управления различными веб-проектами Легкость Удобство Простота
Преимущества для разработчиков Логически завершенная бизнес-логика. Повторное использование кода в проектах. Унификация кода, отчуждаемость от разработчика. Визуальное построение сайта. Быстрая сборка типовых решений. Посетитель Компонент Ядро (API) Данные
«Битрикс: «Битрикс:» Framework» CMS» Компоненты – важная часть «Битрикс: Framework» Компоненты дают возможность использовать функционал CMF для нетехнических специалистов. CMF как ядро – сохраняет возможность полной кастомизации модулей, редакций, компонентов и решений! Модули, редакции, компоненты
Недостатки компонентов 1.0 Логика компонента смешана с представлением данных; Высокие требования к верстальщикам; Невозможность визуализации данных в различных представлениях; Разбросанность данных компонента по файловой структуре; Недостаточная простота переноса компонентов между проектами; Привязка к модулям продукта; Сложность настройки разделов с набором взаимосвязанных страниц (каталог, форум и др.);
Компоненты 2.0. Преследуемые цели. Снижение требований к разработчикам и верстальщикам; Упрощение адаптации компонентов под нужды конкретного сайта; Облегчение повторного использования кода; Увеличение производительности компонентов; Увеличение количества и функциональности компонентов Создание рынка компонентов среди партнеров и клиентов.
Преимущества компонентов 2.0 Отделение бизнес-логики компонента от визуального представления данных. Шаблоны компонента. MVC модель. Поддержка произвольных шаблонизаторов (PHP, Smarty, XSLT…). Простая модификация данных без перепрограммирования компонентов. Модуль Result Modifier. Неделимость компонента. Размещение в отдельной папке. Отсутствие привязки компонента к модулям продукта. Встроенная поддержка ЧПУ и механизма URL-Rewrite. Автокэширование. Встроенная подсистема увеличения производительности и управления кэшем. Многостраничные (комплексные компоненты).
Физическое размещение компонентов Все компоненты расположены в одной папке: /bitrix/components Компоненты не привязаны к модулям Компоненты принадлежат пространству имен. Системные компоненты принадлежат пространству имен bitrix. Они обновляются системой обновлений. Все ресурсы компонента находятся в папке компонента. Компонент неделим
Разделение логики и представления Компонент представляет собой логику, шаблон компонента - представление. Компонент первичен, шаблон компонента вторичен Компонент может иметь неограниченное число шаблонов. Компонент (логика) Шаблон 3... Шаблон 1 Шаблон 2
Шаблоны и шаблонизаторы Встроенная поддержка PHP шаблонов Возможность подключить произвольные шаблонизаторы: Smarty, XSLT, FastTemplate и другие. Логика компонента Поиск шаблона Определение шаблонизатора PHP Smarty… HTML $arResult Преобразование параметров, стили
Модуль Result Modifier Если файла result_modifier.php нет, то результат работы компонента сразу передается в шаблон (1), если есть – результат проходит через этот файл (2). Основные назначения Запрос дополнительных данных, необходимых шаблону Изменение структуры результирующего массива компонента $arResult Компонент $arResult Шаблон 12 result_modifier.php
Набор взаимосвязанных страниц, представляющих собой единый смысловой блок (каталог, форум, блоги) Создают разделы сайта Недостатки реализации с помощью обычных компонентов: приходится создавать множество страниц для размещения компонентов приходится настраивать свойства каждого из компонентов (в том числе пересекающиеся) связи между компонентами либо жестко зашиты в код компонентов (что не универсально), либо сложны для настройки Недостатки реализации одним большим компонентом нет возможности использовать составные части по отдельности дублирование кода Группы товаров каталога ТоварФильтр Товары группы товаров Список каталогов Каталог Комплексные (многостраничные) компоненты
Поддержка ЧПУ ЧПУ – ЧеловекоПонятный Урл (URL) SEF URL – Search Engine Friendly URL /forum/index.php?mode=topic&topic_id=25 /forum/topic.php?id=25 /forum/topic/25.php Компоненты 2.0 имеют встроенную поддержку ЧПУ! автоматические ЧПУ (как пример) автоматическое создание правил для модуля «URL-Rewrite»
Производительность компонентов. Кэширование. Встроенная поддержка кэширования в компонентах 2.0 Режим автокэширования Интерфейс управление кэшем компонентов Кэширование на уровне ядра Оптимизированные запросы к БД
Спасибо за внимание! Ваши вопросы… WWW: Тел.: (495)