Битрикс второй экзамен

Экзамен — это проверка навыков разработки проектов на базе «1С-Битрикс: Управление сайтом» по определенным темам. Методика проверки предполагает оценку не только фактического выполнения заданий, но и соблюдение требований к решениям.

№1 — Интеграция дизайна и настройка платформы

На экзамене оцениваются навыки по реализации проектов в рамках типового функционала: установка системы и основная настройка, интеграция верстки, создание структуры, типовые компоненты, комплексные компоненты, поиск и ряд других возможностей.

Время на решение:  4 часа.

Темы заданий, требования к решениямскачать (pdf)

Задания для подготовки: примеры заданий,  материалы к ним, тестовые билеты №1 и №2

Учебные материалы:

  • Курс «№1 — Интеграция дизайна и настройка платформы».
  • Курс «Разработчик Bitrix Framework».
  • Документация.

Входные требования:

  • Наличие базовых знаний HTML, CSS, JS.
  • Знание основ программирования на PHP.
  • Сертификат по онлайн-тесту: «Администратор. Базовый».

Обсуждение заданий экзамена на форуме >>
Разбор типовых ошибок на вебинаре,  запись >>

№2 — Основные технологии и расширение типовых возможностей системы 

На экзамене оцениваются навыки по расширению типовых возможностей системы. Задания на расширение логики типовых компонентов, обработчики событий, разработку собственных компонентов, обычных и комплексных. Проверка знаний основных технологий системы. 

Время на решение:  4 часа.

Темы заданий, требования к решениям: скачать (pdf).

Задания для подготовки: примеры заданий, материалы к ним, тестовые билеты №1 и №2

Учебные материалы:

  • Курс №2 — Основные технологии и расширение типовых возможностей системы
  • Урок «Инфоблоки – Архитектура»
  • Урок «Инфоблоки — Оптимизация выборки»
  • Курс «Разработчик Bitrix Framework»
  • Документация

Входные требования:

  • Наличие базовых знаний HTML, CSS, JS. 
  • Навыки программирования на PHP, построения SQL запросов.
  • Сертификат по онлайн-тесту: «Администратор. Базовый». 
  • Сертификат по онлайн-тесту:  «Технология Композитный сайт».
  • Сертификат по экзамену «№1 — Интеграция дизайна и настройка».

Обсуждение заданий экзамена на форуме >> 

bitrix.exam2

Готовый экзамен №2 (VMware, бэкап Битрикс, папка local)

Пример установки:

  1. Скачиваем архив (https://drive.google.com/open?id=1vBu48zcRn_cz1yz4NO9csFzs33KsfJZs);

  2. Устанавливаем (если не установлен) VMware;

  3. Отсюда https://www.1c-bitrix.ru/products/vmbitrix/ скачиваем «Виртуальная машина BitrixVM7.2.0 с объемом диска 20 Гб для VMWare»;

  4. Устанавливаем стандартное решение;

  5. После установки удаляем всё из папки /home/bitrix/www/.

  6. Скачиваем файл restore.php (например отсюда: http://www.1c-bitrix.ru/download/scripts/restore.php) и сохраняем его в каталог /home/bitrix/www/;

  7. Запускаем restore.php, выбираем скачанный бэкап и следуем дальнейшей установке.

Настройки Базы Данных:

Screenshot

Жмём «ВОССТАНОВИТЬ»


Доступы к БД:

$DBLogin = «bitrix0»;

$DBPassword = «vwWV019Kvup0aI8?wik1»;

$DBName = «sitemanager»;


Доступы к админке:

admin / 112233


В верхнем меню вкладка «Задания».


Некоторые задания, которые не вошли в публичные материалы для подготовки:

[ех2-43] Изменить «слоган» в шаблоне сайта

Общие требования

• Задачу решить через свойство страницы и расширение возможностей типового компонента catalog.element. Компонент расположен по адресу /products/ в составе комплексного и отображает детальную страницу элемента. Комплексный компонент отображает данные из инфоблока Продукция.

• Создание нового компонента или подмена стандартного через local будет неверным решением, компонент должен остаться типовой. Нужно воспользоваться расширением его возможностей с помощью специальных файлов шаблона.

• Алгоритм решения, при котором будет использоваться некэшируемое обращение к базе данных — не будет верным.

Решаемая задача

• Добавить свойство страницы сайта «Слоган в шапке сайта», с кодом «slogan_head»

• Управление значением свойства должно быть доступно администратору сайта.

• Текст слогана в шаблоне сайта, в файле header.php, устанавливается редактируемой областью. Редактируемую область заменить на вывод слогана с помощью созданного свойства страницы «Слоган в шапке сайта».

Screenshot

• По умолчанию для всего сайта установить значение свойства: «Слоган компании находится в этом месте».

• На детальной странице товара в каталоге (/products/N/M/ устанавливать слоган в шаблоне сайта равным первым 40 символам из описания товара для анонса.

Screenshot

[ех2-75] Проверка текста при изменении новости

• Реализовать проверку при изменении элемента информационного блока, в существующем информационном блоке Новости.

• Если текст анонса содержит слово «калейдоскоп» то при изменении новости — заменять слово «калейдоскоп» на «[…]»

• При замене слова — добавлять запись в журнал событий: «Замена слова калейдоскоп на […], в новости с ID = {ID}». Где (ID) — это идентификатор новости, в которой было обработано изменение текста.

[ех2-77] Разработать простой компонент «Каталог товаров»

Общие требования

• У созданного компонента задать код: simplecomp.exam, название: «Мой компонент», раздел для отображения компонента в визуальном редакторе: «Экзамен №2».

• Работу решения продемонстрировать в разделе сайта /ex2/simplecomp/ добавить пункт в главное меню «Экзамен2», и пункт в левом меню «Простой компонент».

Решаемая задача

• Компонент должен выводить список товаров, сгруппированных по альтернативному классификатору. Альтернативный классификатор — разделы другого информационного блока.

• Множественная привязка не будет использоваться.

• Используется только один уровень разделов, вложенности — не будет.

• Большой объем разделов и элементов не предполагается (не более 20 разделов и 100 элементов), лимиты на выборку и постраничная навигация — не нужны.

Технические требования

• Использовать при решении метод GetMixedList — нельзя.

• Компонент должен иметь только такие параметры:

o	ID инфоблока с каталогом товаров, строка.

o	ID инфоблока с альтернативным классификатором, строка.

o	Код свойства, в котором хранится привязка к классификатору, строка.

o	Типовые настройки кеширования: авто+упровляемое, кешировать, не кешировать, и время кеширования.

o	Выбор шаблона.

• Условия кеширования результата работы компонента — по умолчанию, не зависит от дополнительных данных.

Инфоблоки, получаемые данные

• Использовать существующий инфоблок Продукция.

• Создать инфоблок Альтернативный классификатор. В нем создать 2 раздела, назвать: Раздел 1, Раздел 2.

• У разделов в инфоблоке Продукция создать пользовательское свойство Альтернативный классификатор, код UF_NEW_CLASSIFIER, тип — привязка к разделом.

• Разделы инфоблока Продукция привязать к разделам альтернативного классификатора:

o	«Детская мебель» и «Мебель для кухни» к «Раздел 1» 

o	«Мягкая мебель» и «Офисная мебель» к «Раздел 2»

Screenshot

(для возможности отображения пользовательских полей в списке — настройте инфоблок на раздельный просмотр разделов и элементов)

• Используемые в шаблоне данные разделов альтернативного классификатора:

• Используемые в шаблоне данные разделов каталога товаров:

• Используемые в шаблоне данные элементов каталога:

o	Поля: название.
o	Свойства: цена, материал, артикул.

• Сортировка при отборе не задается.

Установка заголовка страницы

• В компоненте устанавливать заголовок страницы: «В каталоге товаров представлено разделов: [Количество]» где Количество — количество отображаемых разделов альтернативного классификатора.

• Заголовок должен устанавливаться в файле componentphp. Этот функционал является логикой компонента и не должен «теряться» при смене шаблона.

Отображение данных

• Строится дерево разделов альтернативного классификатора и элементов, относящихся к нему.

• Рядом с названием альтернативного классификатора отображаются название связанных разделов каталога.

• Рядом с товаром отображаются: цена, материал, артикул.

[ех2-112] Ссылка на детальный просмотр товара.

Решаемая задача

• Внести доработки в созданный ранее простой компонент.

• Построить ссылки на детальный просмотр элементов из каталога товаров, отобразить ссылку в шаблоне компонента.

• Детальный просмотр не нужно реализовывать, товар уже выводится в разделе /products/…/…/,, переход по полученный ссылке должен быть корректный, на товар в этом разделе.

• Ссылка должна строиться не по шаблону созданному «в ручную», а на основании данных полученных элементов.

Screenshot

[ех2-73] Создание комплексного компонента «Моя фотогалерея»

Общие требования

• Расширить возможности стандартного комплексного компонента Фотогалерея (photo), добавить в него новую страницу exampage.php и переменные.

• Для новой страницы exampage.php реализовать поддержку как ЧПУ так и не ЧПУ режима.

• Для решения предоставляются материалы — заготовка компонента, complexcomp.exam- materials. Это компонент photo, с добавленными заглушками в параметрах, созданной страницей exampage.php. Необходимо реализовать логику в файле components и вывод в шаблоне по заданию.

• Работу решения продемонстрировать в разделе сайта /ex2/complexcomponent/, добавить пункт в главное меню «Экзомен2», и пункт в левом меню «Комплексный компонент».

Доработка компонента

• Добавить переменные для построения адреса страницы: PARAM1, PARAM2.

• Шаблон адреса по умолчанию для страницы exompoge.php при ЧПУ режиме: «123/456/edit/?PARAM2=789», где 123 это значение переменой SECTION_ID, 456 — ELEMENT_ID, edit — PARAM1, 789 — PARAM2

• Условие, по которому открывается страница exampage.php без ЧПУ режима: заданы значения переменных SECTION_ID, ELEMENT_ID, PARAM1

• В настройках компонента реализовать

o	Для ЧПУ режима: управление шаблоном адреса страницы exampage.php 
o	Для не ЧПУ режима: управление именами переменных.

Отображение данных

• Компонент настроить на отображение инфоблока Продукция.

• На странице компонента detail.php, перед подключением bitrix:photo.detail вывести ссылку на страницу exampage.php.

• Для проверки решения в ссылку подставить значениями переменных. SECTION_ID, ELEMENT_ID- значения определенные комплексным компонентом, PARAM1 = edit, PARAM2 = 789.

• Значения можно подставить с помощью str_replace.

• На странице exampage.php вывести значение переменных SECTION_ID, ELEMENT_ID, PARAM1, PARАМ2

Screenshot

Screenshot

[ex2-109] Изменить фон в шапке

Общие требования

• Задачу решить через свойство страницы и расширение возможностей типового компонента catalog.element. Компонент расположен по адресу /products/ в составе комплексного и отображает детальную страницу элемента. Комплексный компонент отображает данные из инфоблока Продукция.

• Создание нового компонента или подмена стандартного через local будет неверным решением, компонент должен остаться типовой. Нужно воспользоваться расширением его возможностей с помощью специальных файлов шаблона.

• Алгоритм решения, при котором будет использоваться некэшируемое обращение к базе данных – не будет верным.

Решаемая задача

• Добавить свойство страницы сайта «Стиль для фона» с символьным кодом «head_style».

• Управление значением свойства должно быть доступно администратору сайта.

• В файле header.php шаблона сайта в тег < div id=»header»> добавит атрибут «style», значение атрибута устанавливать из созданного свойства страницы «Стиль для фона страницы».

• По умолчанию для всего сайта установить пустое значение свойства, для страницы «Контакты» задать значение «background-color: red».

Screenshot

• На детальной странице товара (products/…/…/) устанавливать свойства страницы равное «background-image: url(#IMAGE#); background-size: contain;», #IMAGE# — это пусть к детальной картинке товара. Если картинка не задана – должен остаться пустой стиль.

Screenshot

[ex2-92] Задать особую индексацию для элементов инфоблока «Новости»

• При индексации элементов информационного блока «Новости» заменять заголовок результата поиска на первые 50 символов текса анонса новости.

• Результат проверить в разделе сайта /search/, для проверки решения достаточно пересохранить один элемент информационного блока.

• Результат проверять на поиске новости с текстом «Salon del Mobile»:

o	Без доработки, результат поиска такой

Screenshot

o	После доработки должен стать такой:

Screenshot

[ex2-96] Разработать простой компонент «Избранные товары»

Общие требования

• У созданного компонента задать код: simplecomp.exam, название «Простой компонент», раздел для отображения компонента в визуальном редакторе: «Экзамен №2».

• Для решения предоставляются материалы – заготовка компонента, simplecomp.exam-materials. В заготовке создана необходимая файловая структура, и демо-вызов API по выборке. Эти материалы можно не использовать, предоставляются для ускорения решения задания.

• Работу решения продемонстрировать в разделе сайта /ex2/simplecomp/, добавить пункт в главное меню «Экзамен №2», и пункт в левом меню «Простой компонент».

Используемые данные

• Для решения задания в информационном блоке Продукция создать множественное свойство: «В избранном у пользователей», тип – привязка к пользователям.

• Создать двух тестовых пользователей с логинами test1 и test2.

• Задать привязку товары к пользователям, используя свойство «В избранном у пользователей». Использовать товары из раздела Мягкая мебель:

Товар Пользователи
Изабелла admin, test2
Алладин test1
Джоконда test1, test2
Флора test2
Престиж admin

Решаемая задача

• Компонент должен выводить два списка товаров:

o	Первый список – избранные товары текущего пользователя.

o	Второй список – избранные товары других пользователей, у которых есть хотя бы один общий товар в избранном с текущим пользователем.

o	Во втором списке возле каждого товара выводится список логинов пользователей, у которых он находится в избранном.

o	При построении второго списка нужно исключить товары, уже присутствующие в первом списке.

• Большой объем элементов в избранном не предполагается, лимиты на выборку и постраничная навигация – не нужны.

• Не авторизованному пользователя списки не выводятся.

• Используемые в шаблоне данные элементов каталога:

o	Поля: название.

o	Свойства: цена, материал, артикул.

• Сортировка при отборе элементов не задается.

Пример вывода (конкретные данные могут отличаться)

Screenshot

Технические требования

• Использовать при решении метод GetMixedList – нельзя.

• Компонент должен иметь параметры:

o	ID инфоблока с каталогом товаров, строка.

o	Код свойства, в котором хранится привязка к пользователям, строка. При реализации компонента использовать значение этого параметра.

o	Типовые настройки кеширования: авто+управляемое, кешировать, не кешировать, и время кеширования.

o	Выбор шаблона.

• Зависимость кеширования – от текущего пользователя, у каждого свой список избранного.

Установка заголовка страницы

• В компоненте устанавливать заголовок страницы: «Избранных элементов – [Количество]».

• Где Количество – количество элементов каталога из первого списка.

• Заголовок должен устанавливаться в файле component.php. Этот функционал является логикой компонента и не должен «теряться» при смене шаблона.

[ex2-101] Добавить пункт «Hello world» в меню компонента.

Решаемая задача

• В созданном ранее компоненте добавить кнопку меню «Hello world».

• По клику кнопка перенаправляет на текущую страницу с прибавлением get-параметра hello=world (другие get-параметры должны сохраняться)

Пример результата (конкретные данные могут отличаться)

Screenshot

[ex2-103] Добавить англоязычную версию сайта (отдельный инфоблок)

Общие требования

• Создать второй сайт:

o Используя принцип размещения – на одном доме;

o Язык – английский.

• Второй сайт разместить в разделе первого сайта, путь /ex2/site2/, добавить пункт в главное меню «Экзамен2», и пункт в левом меню «Второй сайт».

Используемые данные

• Импортировать информационный блок News из материалов к заданию, /ex2-103/iblock/
Решаемая задача

• Шаблон второго сайта – из материалов к заданию /ex2-103/ex2_multilang_template_materials/.

• Структура второго сайта – главная и 2 раздела: about и news.

o	Структуру отразить в верхнем меню;

o	главная и раздел about – взять из материалов к заданию /ex2-103/site/;

o	создать раздел news.

• В разделе news вывести:

o	Новости из импортированного инфоблока News, с помощью комплексного компонента;

o	Дату вывести в формате: Месяц/День/Год, формат должен задаваться на уровне всего сайта, а не компонента.

• В шаблонах сайтов добавить переключатель языков (сайтов):

o	Вывести переключатель в правой колонке сайта, в блоке Choose language с помощью соответствующего компонента.

o	Изменить типовой шаблон компонента, сделать выпадающий список, текст значений в котором – код языка (en, ru).

o	Продублировать вывод блока с переключением сайта в шаблоне первого сайта.

o	При этом шаблон компонента должен быть физически один и для первого и для второго сайта

Пример реализации:

Screenshot

Screenshot

[ех2-93] Записывать в Журнал событий открытие не существующих страниц сайта

• Если открываемой страницы нет, сайт вернул 404, то записать это в журнал событий.

• Необходимо обрабатывать как несуществующие статические страницы, так и динамические

• Если страница не найдена, то в системе создаётся константа ERROR 404, равная «Y».

• Параметры записи в журнал

SEVERITY INFO
AUDIT_TYPE_ID ERROR_404
MODULE_ID main
DESCRIPTION url страницы

• Проверяем, открываем адреса не существующих страниц:

o	/not_reai/?not=N 

o	/news/not_real/

В журнале /bitrix/admin/event_log.php?lang=ru должны появиться соответствующие записи.

[ех2-90] Разработать простой компонент «Каталог товаров»

Общие требования

• У созданного компонента задать код: simplecomp.exam, название: «Простой компонент», раздел для отображения компонента в визуальном редакторе: «Экзамен №2».

• Для решения предоставляются материалы — заготовка компонента, simplecomp.exam-materials. В заготовке создана необходимая файловая структура, и демо-вызов API по выборке элементов. Эти материалы можно не использовать, предоставляются лишь с целью ускорения решения задания.

• Работу решения продемонстрировать в разделе сайта /ex2/simplecomp/ добавить пункт в главное меню «Экзамен2», и пункт в левом меню «Простой компонент».

Решаемая задача

• Компонент должен выводить список товаров, сгруппированных по альтернативному классификатору. Альтернативный классификатор — разделы другого информационного блока.

• Будет использоваться множественная привязка элементов к альтернативному классификатору.

• Используется только один уровень разделов, вложенности — не будет.

• В информационном блоке каталога товаров предполагается большое количество элементов (порядок — тысячи), но при этом товаров, у которых будет задана привязка к альтернативному классификатору — будет не более нескольких десятков.

Технические требования

• Использовать при решении метод GetMixedList- нельзя.

• Компонент должен иметь параметры:

o	ID инфоблока с каталогом товаров, строка, о ID инфоблока с классификатором, строка.

o	Код свойства, в котором хранится привязка к классификатору, строка. При реализации компонента использовать значение этого параметра.

o	Типовые настройки кеширования: авто+управляемое, кешировать, не кешировать, и время кеширования.

o	Выбор шаблона.

• Зависимость кеширования — по умолчанию, не зависит от дополнительных параметров.

Инфоблоки, получаемые данные

• Для демонстрации решения задания использовать существующие информационные блоки Продукция и Услуги.

• В информационном блоке Услуги создать 3 раздела, заполнить: Наименование.

• В информационном блоке Продукция создать множественное свойство: классификатор, тип — привязка к разделам, информационный блок Услуги.

• В информационном блоке Продукция задать у нескольких элементов значение множественного свойства Альтернативный классификатор, не менее чем у 4х товаров, привязав их к 2-3 элементам классификатора.

• Используемые в шаблоне данные разделов альтернативного классификатора:

• Используемые в шаблоне данные элементов каталога:

o	Поля: название.

o	Свойства: цена, материал, артикул.

• Сортировка при отборе не задается.

Установка заголовка страницы

• В компоненте устанавливать заголовок страницы: «Элементов — [Количество]». Где Количество — количество отображаемых элементов каталога.

• Заголовок должен устанавливаться в файле component.php. Этот функционал является логикой компонента и не должен «теряться» при смене шаблона.

Отображение данных

• Отображается классификатор с элементами.

• По элементу классификатора отображаются Название.

• По элементу каталога: Название — Цена — Материал — Артикул.

Пример вывода (конкретные данные могут отличаться)

Screenshot

[ех2-83] Добавить постраничную навигацию в созданный простой компонент

Решаемая задача

• В созданном ранее компоненте добавить постраничную навигацию для элементов классификатора.

• В контексте данного задания «элементами» классификатора — могут быть и разделы информационного блока и пользователи и другие сущности, а не только «элементы» информационного блока. Т.е. та сущность, по которой группируется вывод.

• В настройки компонента добавить параметр — количество элементов классификатора на странице.

Пример вывода (конкретные данные могут отличаться):

Screenshot

[ех2-86] Проверка количества пользователей на сайте

• Реализовать функционал: ежедневно подсчитывать количество пользователей зарегистрированных в системе и отсылать письмо-отчет.

• Текст письма: «На сайте всего зарегистрировано [count] пользователей», где [count] -полученное количество.

• Шаблон текста письма и адрес должен быть доступен для редактирования администратору сайта.

• Функцию необходимо реализовать, используя технологию агентов, она должна запускаться 1 раз каждый день, в 01:00.

• Почтовый сервер складывает письма в папку /home/bitrix/mail/, можно проверить решение.

• Функцию назвать ExamCheckCount, агента — Подсчет пользователей сайта.

[ех2-65] Создание комплексного компонента «Моя фотогалерея»

Общие требования

• Расширить возможности стандартного комплексного компонента Фотогалерея (photo), добавить в него новую страницу exampage.php и переменные.

• Для новой страницы exampage.php реализовать поддержку как ЧПУ так и не ЧПУ режима.

• Для решения предоставляются материалы — заготовка компонента, complexcomp.exam- materials. Это компонент photo, с добавленными заглушками в параметрах, созданной страницей exampage.php. Необходимо реализовать логику в файле components и вывод в шаблоне по заданию.

• Работу решения продемонстрировать в разделе сайта /ex2/complexcomponent/, добавить пункт в главное меню «Экзамен2», и пункт в левом меню «Комплексный компонент».

Доработка компонента

• Добавить переменную для построения адреса страницы: PARAM1.

• Шаблон адреса по умолчанию для страницы exampage.php при ЧПУ режиме: «123/456/edit/789/», где 123 это значение переменой SECTION_ID, 456 — ELEMENT_ID, 789 — PARAM1

• Условие, по которому открывается страница exampage.php без ЧПУ режима: заданы значения переменных SECTION_ID, ELEMENT_ID, PARAM1

• В настройках компонента реализовать

о Для ЧПУ режима: управление шаблоном адреса страницы exampage.php о Для не ЧПУ режима: управление именами переменных.

Отображение данных

• Компонент настроить на отображение инфоблока Продукция.

• На странице компонента detail.php, перед подключением bitrix:photo.detail вывести ссылку на страницу exampage.php.

• Для проверки решения в ссылку подставить значениями переменных. SECTION_ID, ELEMENT_ID — значения определенные комплексным компонентом, PARAM1 = edit.

• Значения можно подставить с помощью str_replace.

• На странице exampage.php вывести значение переменных SECTION_ID, ELEMENT_ID, PARAM1, PARАМ2

[ех2-74] Проверка текста при создании новости

• Реализовать проверку при создании элемента информационного блока, в существующем информационном блоке Новости.

• Если текст анонса содержит слово «калейдоскоп» то при создании новости — отменять создание

• При отмене создания возвращать текст ошибки, с помощью соответствующей API. Текст: «Мы не используем слово калейдоскоп в анонсах новостей»

[ех2-111] Оценить скорость работы созданного простого компонента.

• Создать страницу /ex2/time_control/, добавить пункт в главное меню «Экзомен2», и пункт в левом меню «Оценка производительности».

• С помощью специального инструмента Bitrix Framework определить параметры работы созданного простого компонента:

o	При выключенном кеше: время работы компонента, количество запросов к базе данных.

o	При включенном кеше: время работы компонента.

• Полученные результаты записать на странице /ex2/time_соntrol/

Как я сдавала второй экзамен по Битрикс

Как я писала в прошлом посте, с сентября 2016 года для подтверждения статуса Золотого партнера, нужно иметь в команде, как минимум, 1го разработчика, сертифицированного по новой системе до уровня «Профессионал» и второго разработчика, сертифицированного до уровня «Базовый». Мне нужно подтверждать статус золотого партнера только в январе 2017, но я привыкла готовить сани летом, поэтому уже сейчас занялась этой проблемой.

Забегая вперед, скажу, что я уже сертифицировалась до уровня «Профессионал» лично, а мои ребята уже начали экзаменоваться на «Базовый» уровень, и я надеюсь, они все получат в ближайшем будущем и «Профессионала».

А теперь о том, как это было. Второй экзамен был сложнее первого. К первому я не готовилась — на первом экзамене меня больше волновали технические моменты: нормально ли распознается снимок моего паспорта, хорошо ли работает моя камера и тому подобное.

Просмотрев 2 предложенных для подготовки открытых билетов для экзамена по теме «Основные технологии и расширение типовых возможностей системы», я поняла, что второй экзамен без подготовки — может не прокатить, потому что заданий в билете достаточно много для 4х часов, отведенных на экзамен. Я прорешала оба эти билета, измерила примерное время и, наученная опытом первого экзамена, умножила это время на 1,5 — потому что на тормозном экзаменационном сервере все получается медленнее в полтора раза, да плюс — мандраж.

Поняла, что в 4 часа уложиться будет возможно, только отрепетировав решение экзаменационных задач практически до автоматизма.

И я отрепетировала все мелкие задания на локалке, так, чтобы тратить на каждое не более 7-10 минут. Планировала на экзамене потратить на всю мелочевку не более часа, а остальное время посвятить заданиям про создание простого и комплексного компонента — там много вылизывать. (На экзамене у меня на мелочевку реально ушло 2 часа, и еще 1,5 часа — на разработку простого и комплексного компонента. 30 минут осталось на самопроверку.)

Накануне экзамена я решила сразу выбрать наиболее подходящий стандартный компонент в качестве основы для решения задачи про разработку простого компонента для вывода списка вакансий. Вот тут вышел казус, которым я просто не могу не поделиться.

В одном из пробных билетов (или в обоих) этот компонент — список вакансий должен был помимо прочего поддерживать технологию Эрмитаж. Выбрала я стандартный битриксовский компонентик, который как раз поставляется с решением «Корпоративный сайт производственной компании» — называется furniture.vacancies.

Посмотрела его — переделывать нужно минимально, эрмитаж — реализован. На экзамене его и взяла.

А в нем для вычисления адресов Эрмитажевских кнопок шел такой код:

$arResItems[«EDIT_LINK»] = ‘/bitrix/admin/iblock_element_edit.php?ID=’.$arResItems[«ID»].’&type=’.$arParams[«IBLOCK_TYPE»].’&lang=’.LANGUAGE_ID.’&IBLOCK_ID=’.$arParams[«IBLOCK_ID»].’&find_section_section=’.$arResItems[«IBLOCK_SECTION_ID»].’&bxpublic=Y&from_module=iblock’;
$urlDelete = CIBlock::GetAdminElementListLink($arParams[«IBLOCK_ID»], array(‘action’=>’delete’));
$urlDelete .= ‘&’.bitrix_sessid_get();
$urlDelete .= ‘&ID=’.(preg_match(‘/^iblock_list_admin.php/’, $urlDelete)? «E»: «»).$arResItems[«ID»];
$urlDelete = «/bitrix/admin/».$urlDelete;
$arResItems[‘DELETE_LINK’] = $urlDelete;

Я его оставила — этот код рабочий, он решает поставленную передо мной задачу и он использован в стандартном компоненте Битрикс, а стандартные компоненты — это для нас пример и эталон правильного кода. Какого же было мое удивление, когда экзаменаторы указали мне на ошибку:

— Значительная ошибка: в компоненте кнопки для технологии «Эрмитаж» вычисляются «в лоб» (файл component.php, строки 56-62). Следует использовать метод CIBlock::GetPanelButtons

Вот так друзья — не все стандартные компоненты Битрикс можно брать за образец. Нет, я, конечно, никогда не претендовала на то, чтобы мой код был образом чистоты, порядка и эффективности — слава богу, в моей команде есть программисты сильнее меня, а если бы было не так — это был бы мой прокол, как руководителя.

Но вот такое ханжество проверяющих меня слегка зацепило. Ханжество — требовать от других соответствия критериям, которым не соответствуешь сам. Как же так? В коробке Битрикс живут компоненты со Значительными ошибками?  Хотя, конечно, мне грех обижаться — ведь экзамен мне зачли успешно сданным, несмотря на эту ошибку.

И да, в целом это был интересный и полезный опыт для меня.  Когда над тобой уже много лет нет проверяющего, когда никто не контролирует твой код, когда ты растешь только благодаря какому-то обмену опытом с друзьями-коллегами — взгляд со стороны получать время от времени очень важно. Если Битриксоиды в будущем выпустят третий и четвертый экзамены, как обещали, я обязательно пойду и на них.

В обучающих материалах приведены практически все варианты заданий, которые будут на экзамене. Но тут нужно помнить такую вещь, если вы идеально сделаете шесть заданий, а седьмое решите наполовину и его решение не засчитают — то все, экзамен не сдан. Поэтому нужно запомнить и выучить все сложные и непонятные места, встречающиеся в обучающих материалах.

Итак, оба тестовых билета перерешаны много раз — и в виртуальной лаборатории(которую можно создать прямо с сайта битрикс) и на виртуальной машине, которую можно скачать с сайта академии. Произвожу оплату 999 рублей и ожидаю даты экзамена. Поначалу боялся, что будет очередь на сдачу экзамена. В сутки академия битрикс принимает экзамены у 15 желающих. Битрикс очень популярен, в больших городах есть платные курсы по подготовке к сдаче экзамена. Однако, с этим никакой заминки не было. Можно было оплатить и сдавать экзамен хоть на следующий день. Тут основным было подобрать время, когда можно быть дома одному и никто не будет тебе мешать.

Сдавать в назначенное время можно хоть в 2 часа ночи, хоть в 23.50 — главное, чтобы экзамен был начат в течение суток, на которые вы записались. Итак, все готово — веб камера    настроена и работает, паспорт под рукой, телефон на беззвучном лежит рядом (пользоваться телефоном запрещено правилами, но возможен звонок от сотрудника Битрикс, контролирующего процесс сдачи экзамена). Процедура сдачи у них отлажена как часы: для хрома устанавливается отдельное дополнение, которое делает скриншоты вашего рабочего стола во время всего экзамена. То есть что-то подсмотреть не получится.

Заходим в личный кабинет академии, во вкладке «Экзамены» появится кнопка сдать экзамен. Нажимаем ее и делаем фотографии помещения, в котором находимся. Затем  необходимо сделать фото паспорта(немного боялся что не будет видно фамилии, данных — но с этим проблем не было). Затем на странице будут указаны данные для подключения к удаленному серверу. Подключаемся к нему — и время пошло, четыре часа для сдачи экзамена пошли. Самое главное не волноваться. Если сильно волнуетесь — посидите пять минут спокойно, ничего не делая, просто придите в себя.

На рабочем столе будет файл с заданиями, которые необходимо выполнить. Также там будет help с api битркис и php справочник.

  1. Оба раза когда я сдавал экзамен первым заданием было интегрировать верстку на Битрикс. Задание несложное, но объемное. Все ошибки, которые в основном совершают сдающие очень хорошо рассмотрены в вебинаре по сдаче экзамена. Его легко можно найти на ютубе.
  2. Вторым заданием было внедрение и кастомизация компонента «Меню». Данное задание также есть в обучающих материалах и сложностей с ним не было.
  3. Реализовать вывод информации с помощью комплексного компонента. В учебных примерах было подробно рассмотрено как это сделать с помощью компонента news.list. Нужно уметь создавать инфоблоки, производить их настройку и обращаться к их свойствам.
  4. Работа с организационной структурой сайта. Как и в учебных материалах нужно было добавить раздел. Я понимаю, что все задания на знание различных аспектов битрикс и знать надо их все. Но все таки немного странно, что задание, которое выполняется за две минуты имеет такой же вес, что и задание, которое надо делать почти час(это я про первое).
  5. Создание пользователя с ограниченным доступом. Тоже простое задание, которое рассмотрено в примерах. Но на нем я и запоролся. Данный пользователь должен иметь полный доступ к отделу рассылок. А как добавить ему возможность пользоваться модулем рассылок я не знал (как оказалось позже — достаточно было поставить одну галочку). Было очень обидно решив все правильно запороться на такой мелочи. Но об этом я узнал потом, а пока продолжал выполнять задания.
  6. Нужно было в сайдбаре в виде слайдера вывести данные из инфоблока.
  7. Уменьшение изображения «на лету» — в учебных материалах была рассмотрена данная технология.

Я уложился в три с половиной часа и последние полчаса бился над тем как дать пользователю доступ к модулю рассылок, но не смог это сделать. Сдал экзамен на проверку. Экзаменационный сервер автоматически отключит вас по истечении четырех часов, если вы не нажмете «завершить экзамен». Стал ждать результаты, надеясь на лучшее. Проверили быстро — через два дня. Итог — из-за указанной выше галочки экзамен не сдан. Было обидно и неприятно, поэтому я еще недельку поготовился и все таки сдал со второго раза. Правда второй раз проверяли долго — почти две недели.

Автор seo На чтение 1 мин Просмотров 15 Опубликовано 21.01.2022

В данном видео мы разберем задание [ex2-82] Добавить отображение данных в шаблон сайта Используемые функции: … про доработка bitrix.

Вам также может понравиться

Как выставить счет на физ. лицо из Битрикс 24 🔎

🔍 Вопрос дня — «Как выставить счет на физ.

0

Вебинар «Автоматизация кейтеринговой компании на базе "1С:Управление Нашей фирмой"»

2 июня 2020 г. фирма «1С» совместно с партнером «RG-СОФТ»

0

Урок 24 Разница стилей в 1.5 и в 2.5

В данном уроке разберём отличие стилей от версии 1.

0

Что нужно знать перед открытием магазина? С чего начать открытие интернет магазина с нуля?

В данном видео уроке разобрал вопрос о том что стоит

0

Новый релиз PrimeGate SuperCharger

Презентация новой версии PrimeGate. Рассказываем о

0

Согласование счета - бизнес процессы в Битрикс24

Как работает стандартный бизнес-процесс согласование

0

Интеграция Whatsapp с AmoCRM. Как подключить WhatsApp к CRM.

Сервис Wazzup Наш сайт INSTAGRAM Если Вы хотите быстро

0

Как внедрить CRM-систему и увеличить прибыль вашего бизнеса в разы | Интервью с Алексеем Хвостовым

Как увеличить прибыль бизнеса в разы за счет внедрения

0

Понравилась статья? Поделить с друзьями:
  • Биохимия как сдавать экзамен
  • Биохимия егэ биология теория
  • Биохимия для егэ
  • Биохимия баллы егэ
  • Биохимический анализ крови пациента выявил низкий уровень гормона кортизола егэ