Интерфейс «Эрмитаж» с точки зрения разработчика
DESCRIPTION
Интерфейс «Эрмитаж» с точки зрения разработчика. Конференция 1C- Битрикс — 2 0 января 2011 Антон Герасимюк. Эрмитаж – новая концепция качества. Проблемы: безопасность проектов низкая производительность нет простоты управления недостаточно высокое качество внедрения продукта - PowerPoint PPT PresentationTRANSCRIPT
Интерфейс «Эрмитаж» с точки зрения разработчика
Конференция 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 для блочного тега
2. В 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: [email protected]
• Сайт: net.1c-bitrix.ru
• Twitter: twitter.com/compote
020