Компоненты 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 Шаблон 1 2 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: http://www.bitrixsoft.ru E-mail: [email protected] Тел.: (495) 999-51-21