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