Презентация PPTX, 868 КБ

advertisement
Интерфейс «Эрмитаж»
с точки зрения разработчика
Конференция 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
Download