Интерфейс «Эрмитаж» с точки зрения разработчика Конференция 1C-Битрикс — 20 января 2011 Антон Герасимюк 01 Эрмитаж – новая концепция качества Проблемы: • безопасность проектов • низкая производительность • нет простоты управления • недостаточно высокое качество внедрения продукта • все «шишки» на Битрикс Цель: • повысить качество внедрения продуктов на Битриксе • разработать инструмент контроля качества внедрения по методике Эрмитаж для клиентов и партнеров 02 Эрмитаж – новая концепция качества Для разработчиков: • Методика разработки сайта с идеологией Эрмитажа • Checklist этапов разработки и внедрения проекта Для клиентов: • Автоматический модуль проверки сайта по checklist’у Для партнеров: • Публикация проектов на сайте с отметкой Эрмитаж, сортировка • Баллы за проекты 03 Checklist • • • • • Включено кеширование на всех страницах? Изменялись файлы ядра? Система обновлений настроена? Используется управляемое кеширование? Все страницы закешированы, но сколько запросов без без кеширования? • Включена проактивная защита? • Редактор сайта может изменить контент через публичную часть сайта? 04 Эрмитаж • • • • Новая верхняя панель Toolbar компонента Toolbar для элементов списка Вызов административных страниц в публичной части сайта 05 Верхняя административная панель • • • • • Убрана вкладка «Разработка» Вкладка «Редактирование» стала переключателем В режиме просмотра больше кнопок редактирования Перегруппировка кнопок по контексту Два вида кнопок: маленькие по три в группе, большие – по одной • API совместимо со старой панелью 06 Добавление кнопок в панель 07 Добавление контекстного меню • Добавление пунктов контекстного меню к любой кнопке панели • $APPLICATION->AddPanelButtonMenu($btnId, $arMenuItem) $btnId – идентификатор кнопки $arMenuItem – массив пунктов • "RESORT_MENU" => true – пересортировка пунктов согласно индексу сортировки 08 Контекстное меню и toolbar компонента • Концепция Эрмитажа: основные действия выносятся в toolbar, остальные остаются в контекстном меню 09 Контекстное меню и toolbar компонента 010 Toolbar для элементов списка 011 Toolbar для элементов списка 1. Установить HTML-атрибут id для блочного тега 1. В compote_epilog.php определить кнопки toolbar’а с помощью метода: $APPLICATION->SetEditArea($areaId, $arIcons); $areaId – идентификатор области с toolbar’ом $arIcons – массив иконок toolbar’a 012 Toolbar для элементов списка • Метод добавляет кнопку, которая открывает указанный URL в popup-окне • Метод добавляет кнопку удаления элемента 013 Административные страницы в публичке • Метод генерирует Javascript, открывающий URL в popup-окне • Кнопки управления элементами и разделами инфоблока 014 Бонус: новые методы буферизации 015 Бонус: новые методы буферизации • template.php • header.php 016 Бонус: новые методы буферизации Методы, доступные в шаблоне (через $this) • CBitrixComponentTemplate::SetViewTarget($view, $pos) • CBitrixComponentTemplate::EndViewTarget() Методы глобального объекта $APPLICATION • Cmain::AddViewContent($view, $content, $pos) • Cmain::ShowViewContent($view) • $view – идентификатор буферизируемой области • $content – буферизируемый контент • $pos – сортировка вывода контента 017 Бонус: новые методы буферизации • Одному идентификатору $view может соответствовать несколько буферов. Последовательность вывода контента определяется сортировкой $pos. • Поддержка стандартного кеширования в компонентах. • EndViewTarget() вызывать необязательно, конец шаблона вызывает завершение буферизации автоматически. 018 Разработка процедуры сдачи проекта • Эрмитаж должен стать обязательной частью проекта • Обязательное тестирование проекта с помощью нового модуля перед сдачей • Мы готовы обсуждать и дорабатывать список проверок сайта 019 Спасибо за внимание • E-mail: co@bitrix.ru • Сайт: net.1c-bitrix.ru • Twitter: twitter.com/compote 020