- Повторить список компетенций Drupal
- Повторить список модулей
- Повторить мой конспект опроса Drupal-frontend
- Вспомнить как ставятся готовые сборки Drupal 7
- Повторить инструкцию для Drupal-разработчиков от компании Nextep
- https://www.drupal.org/books
- https://github.com/hechoendrupal/drupal8-links
- Томлинсон Т - CMS Drupal 7. Руководство по разработке системы управления веб-сайтом. 3-е издание
- Больше акцент на использование ООП
- В 8-ке официально принято использование ООП. Начат постепенный отход от процедурного программирования и использования хуков, которые применялись в времена когда ООП еще небыло доступно в нужном объеме в PHP.
- В связи с этим появляется много новых, для Drupal, концепций и понятий. Для пространств имен принято следовать стандарту PSR-0 (чуть позже, возможно PSR-4). В 8-ке не будет сделан полный переход к ООП и частичное наследие в виде процедурного кода еще останется, но это будет осуществлено в Drupal 9.
- Использование компонентов Symfony 2
- Composer как пакетный менеджер управления зависимостями
- Часть ядра Drupal. Типа npm/yarn только для php
- Twig как шаблонизатор (вместо phpTemplate)
- REST-full сервер
- Из коробки, Drupal 8 может работать как REST сервер и обслуживать множество устройств.
- Почти всё является entity
- теперь это и блок, и комментарий, и ещё много что... Можно добавлять поля и т.д.
- Широкие настройки экспорта/импорта конфигураций
- Полностью переделана система конфигурирования и теперь данные о настройках храняться не в базе, как это было раньше, а в файлах.
- Позволяет легко экспортировать/импортировать настройки, использовать разные настройки для разработки и релиза а также, хранить данные в системе управления версиями.
- Конфигурации
- перенос настроек базы данных. Аналог фич. Заменяет их. Знать как устроен деплоймент
- habr - Управление конфигурациями в Drupal 8, обзор для разработчиков
- Широкие настройки кэширования
- Апгрейт с предыдущих версий
- Для обновления с предыдущих основных версий, в ядро интегрирован модуль Migrate
- Позволит напрямую обновляться с 6, 7 до 8
- Модуль Views в ядре
- Встроенная мультиязычность
- Inline редактирование (кнопка редактировать прямо на блоке)
- Встроенный CKEditor редактор
- Добавление изображений
- Можно без установки дополнительных модулей, вставлять изображение в нужное место в тексте.
- Возможна также одновременная загрузка нескольких изображений.
- Адаптивный дизайн для встроенных тем
- По сути, Drupal 8 = набор библиотек под Simphony (full-stack php-фрэймворк, на модели MVC, открытый код, по сути - набор автономных компонент)
- Кроме drush (утилита с интрефейсом CLI) есть Drupal console (CLI).
- Интерфейс командной строки (CLI) - предназначен для генерации стандартного кода, взаимодействия и отладки Drupal. Нужна больше для разработчиков модулей - автоматизирует рутинные операции, генерирует стандартный код
- Генерация кода и файлов необходимых для модуля Drupal 8.
- Исследовать и отлаживать систему.
- Взаимодействовать с инсталляцией Drupal.
- Изучать Drupal 8
- Интерфейс командной строки (CLI) - предназначен для генерации стандартного кода, взаимодействия и отладки Drupal. Нужна больше для разработчиков модулей - автоматизирует рутинные операции, генерирует стандартный код
- Платный редактор Wisiwig, конструктор страниц
- Нюансы с подключением JS (behaivors, once)
- имя перменной
- обернув весь код без изменений, с помощью стандартного механизма выделения область видимости, объект jQuery стал доступен по имени
$
.
- обернув весь код без изменений, с помощью стандартного механизма выделения область видимости, объект jQuery стал доступен по имени
- behaviors
- специальный способ обработки события document ready.
- Будет отрабатывать не только при загрузке странице, но и при AJAX-изменениях (т.е. когда элемнеты появляются/меняются асинхронно). Весь код, который должен вызваться при готовности страницы нужно заключить в behavior. Все что нужно знать верстальщику — вместо обычного document ready писать бихевиоры.
- И внутри всегда использовать context при построении селекторов. Context = содержимое (DOM-элемент или селектор), к которому нужно применить(«приаттачить») бихевиор
- once
- какие-то обработчики могут назначаться на одни и те же элементы дважды, а нужно это не всегда.
- При первой обработке добавляет класс, а в селекторе проверяет отсутствие этого класса. Если класс уже есть - повторно не отрабатывем
- имя перменной
- Темы Bootstrap 4 делал на основе субтемы Barrio SASS
- Модуль Drupal Comerce - разработка интернет-магазинов
- BigPipe- подгрузка страниц сайта по частям (лэзи лоад). В ядре
- PageBuilder - замена Panels
- ApacheSolr и словарь для русского стемминга Drupal в рунете
- Sphinx
- Twig tweak (для Drupal 8) - Облегчает настройку шаблонов twig в Drupal 8
- Context
- группировка материалов и информации + реакция на них. Например, как не показывать блок например посетителям из москвы? Или если на странице есть определённое представление? Или если курс доллара ниже 25? Или если у пользователя роль "покупатель" а на личном счёте 0? Или на товар есть скидка? Если терминов у материала два и больше? Если один блок надо отображать в нескольких местах страницы... Позволяет совершать определённые дейстивя при выполнении условий. Например, пометить активынм опредеённый пункт меню при условии что нода явлется опр. типом материала и её Поле Х находится в таком-то полодениии.
- Features
переместить конфигурацию сайта из плоскости базы данных в плоскость кода, что позволит контролировать изменения в системе контроля версий.
пакуем изменения в базе в модуль, тестируем и загружаем на prod - Backup and Migrate
- Panels
- PageBuilder - хрошая замена Panels в D8
- создаём стуктурированные макеты страниц, на основе которых мы будем формировать дальнейший вывод блоков
- создает дополнительные регионы на страницах Drupal сайта. Каждый регион или область веб-страницы можно заполнить любым контентом и блоками. Этот модуль делает админку более гибкой и функциональной. Теперь вы сможете не просто перетаскивать блоки по разным регионам, но и увидеть результат визуально.
- Pargraphs (есть в 7 и 8)
- новый способ добавления содержания! Он позволяет добавлять и управлять содержанием проще, чем используя стандартный подход.
- дает возможность через множественное поле в ноде выводить другие типы параграфов: фотогалереи, текст с изображением, слайдеры, видео и прочее.
- вместо тупого Full-HTML-поля, в котором все надо делать руками (и не все еще сделается) — можно для каждого материала по-своему контент разметить. Большие картинки, маленькие с обтеканием, видео, блоки, вьюзы, вкладки, аккордеоны — и все это не в редактор пихается, а просто мышкой накликивается. Главное заранее набор этих параграфов определить, и тогда даже контент-менеджер при некоторой сноровке сможет размечать навороченные страницы контента из этих параграфов самостоятельно.
- Вместо размещения всего содержания в одном поле через WYSIWYG-редактор, включая изображения и видео, пользователи могут на лету выбирать между предопределёнными типами абзацев, которые не зависят друг от друга. Типы абзацев могут быть чем чем угодно, от простого текстового блока или изображения, до сложного и настраиваемого слайд-шоу.
- Rules Позволяет создавать реакции на события. Например: после отправки формы переадресовать пользователя на опр. страницу или выдать pop-up
- CSS Injector - пишем CSS из админки
- HoneyPot - защита форм от спама
- Slick slider - JS-слайдер
- FlexSlider - ещё слайдер
- ManualCrop - кропать фотки
- Webforms - делать формы, собирать по ним статистику и т.д.
- Administration menu
- Colorbox
- Chaos tool suite (ctools) - API и набор инструментов, которые позволяют облегчить работу разработчика.
- Devel - dsm и т.д. Обеспечивает удобство работы для разработчиков модулей и тем.
- Theme developer (Devel themer) Отладчик в Друпале, которой может показать всю необходимую информацию нужную для разработки темы. Включайте этот модуль при разработке темы и отключайте тогда, когда его использование не нужно. Основная идея модуля заключается в использовании hook_theme_registry_alter(), с помощью которого он получает все вызовы темы. Полученный результат и подсказки по использованию элементов оформления показываются с помощью яваскрипта поверх страницы, благодаря чему их можно переместить в удобное место на экране.
- Pathauto - настройка правил автоматической генерации адресов по различным параметрам.
- Views
- Libraries API Является «общим знаменателем» для всех модулей, тем и профилей, которым требуется интеграция с внешними библиотеками. Модуль вводит новое хранилище для библиотек: sites/all/libraries или sites//libraries. Библиотеки находящиеся в этих папках могут использоваться сразу несколькими модулями или сразу на нескольких сайтах. Процесс обновления модуля требующего для своей работы внешнюю библиотеку при таком подходе также становится проще.
- Better Exposed Filters - Позволяет выводить фильтры в виде ссылок/радио-кнопок
- JQuery update - Обновляет версию jQuery (библиотека java-script), которая включена в Друпал.
- Расскажите о себе
- Как давно работаете с frontend и как давно с Drupal
- Drupal - с какими версиями доводилось работать
- Drupal 8
- опыт frontend-разработки
- опыт разработки темы. Своя или адаптация готовой?
- libraries
- Drush
- опыт работы с drush?
- какой командой drush очистить все кэши сайта в Drupal 8?
- какой командой делать import config from a config directory.
- какой командой делать display a one time login link for the given user account.
- Git
- базовые задачи
- создать ветку
- сделать коммити
- пуш/пулл
- смержить ветки
- разрешить конфликт
- работа через консоль
- какие веб-сервисы используете для работы с GIT? GitHub, GitLab, Bitbucket...
- какие-то ещё системы контроля версий? SVN, MErcurial
- базовые задачи
- JS
- опыт работы с JS
- jQuery
- native?
- особенности работы с JS-скриптами в Drupal:
- имя перменной - обернув весь код без изменений, с помощью стандартного механизма выделения область видимости, объект jQuery стал доступен по имени $.
- behavior - специальный способ обработки события document ready. нужны для того, чтобы дополнительно добавлять обработчики к новому контенту,
- once - Какие-то обработчики могут назначаться на одни и те же элементы дважды, а нужно это не всегда. механизм заложен в плагин jQuery.once, который включен в ядро D7
- линтеры - JSLint
- Сборщики проектов
- Gulp,
- Grunt,
- Webpack
- Sass - какие для вас главные преимущества?
- Bootstrap 4. Что понравилось по сравнению с Bootstrap 3?
- Адаптивность. Опыт разработки мобильных версий. Подходы, техники?
- Шаблонизаторы
- Какие-то ещё шаблонизаторы кроме TWIG и PHPTemplate использовали? Smarty?
- twig - if front
- twig - images
- Flex-box - опыт работы?
- CSS-grid - опты работы?
- Есть ли опыт вёрстки по методологии БЭМ?
- Docker - есть опыт работы? Windows/Linux?
- Code style - есть опыт работы? Может свой?
- IDE - в какой работаете?
- Photoshop/Sketch
- Сервисы взаимодействия дизайнера и верстальщика - Figma, Zeplin, Avocode
- Какой таймер используете
- Локальный сервер - какой вы предпочитаете использовать под Win?
- Гибкая методология?
- Инструменты - JIRA, Redmine