Блог
Что нужно знать для трудоустройства
Что нужно знать для трудоустройства
Для тех, кто не имеет опыта с web и drupal:
Environment:
- Установить Linux. Это может быть Ubuntu, Debian, OpenSUSE, Fedora, Linux Mint. Мы используем Ubuntu.
- Установить AMP stack (Apache, PHP 5.3, MySQL, phpmyadmin)
- NetBeans 7
Drupal:
- Установить Drupal 7 (не из пакетов, a c drupal.org)
- Плюсом будет знание о drush и умение его использовать.
Разобраться c темами :
- Ноды (node)
- Система хуков (hooks)
- Система теминга (theme)
- Блоки (blocks)
- Drupal coding standarts http://drupal.org/coding-standards
- Таксономия (taxonomy)
- Уметь создавать тип материала, добавлять ему поля разных типов.
- Создавать несколько нод этого типа.
- Добавлять к ним комментарии.
Познакомится с модулями:
1. http://drupal.org/project/views
Вывести список нод этого материала, отсортированных по количеству комментариев.
2. http://drupal.org/project/panels
Вывести на панели рядом два списка с сортировкой по комментариям в разных направлениях. Попробовать разобраться с ctools плагинами для панелей.
3. http://drupal.org/project/admin_menu
Установить, разобраться зачем он нужен.
Лучшие учебные пособия - drupal.org, php.net
Для опытных:
Как работает веб:
- AMP стек, объяснить как работает с момента ввода адреса сайта, до момента полной прогрузки страницы.
- Протокол HTTP, Методы Post и Get
Основные вопросы по Drupal
Hook.
- Что такое хук, зачем нужны и как используются?
- Список наиболее популярные хуков (hook_menu, hook_theme, hook_form_alter, hook_nodeapi, hook_user …)
- Как создать свой хук?
- hook_theme, для чего используется? Как его можно использовать? Куда ложить файлы шаблонов? Как именовать препроцессы?
- hook_menu, как создать свой меню итем? Основные правила при создании меню итема. Когда нужно выносить коллбэк в отдельный файл. Какие типы меню итемов бывают?
- hook_views_* - основные хуки, как и для чего используются?
- hook_schema - что такое, зачем нужен, пример
- hook_update - правила написания, как работает
- hook_install, hook_uninstall - зачем использовать, примеры
- menu в drupal, как это работает?
Coding standards.
- Правила именования модулей, функций, файлов модулей.
- Drupal coding standards, основные моменты
- db_query(), db_select() и другие функции для работы с БД, основные правила.
- Когда нужно создавать свой модуль?
Forms.
- Как создать форму?
- Как отрисовать форму программно?
- Как изменить чужую форму?
- Типы элементов, основные свойства.
- Теминг формы
- validate, submit, after_build, pre_render формы.
- System settings forms
- AHAH. Что такое, как использовать?
Content
- Content-type - что такое? как создать? основные правила создания
- Fields - типы полей, правило именования
- Build mode - что такое и как это использовать?
- Как друпал хранит поля в базе
Views.
- Зачем нужен? Примеры использования
- Типы дисплеев, типы шаблоны, стили.
- Что такое relationship во вьюхе? Как это работает?
- Аргументы, как это использовать?
Panels.
- Что это панель, регион, вариант, пэйн?
- Стандартные панели. Что такое selection rules?
- Panels everywhere - для каких целей и как использовать?
Ctools plugins.
- Content-type - что такое и когда стоит использовать? Отличие от блоков.
- Style - что такое, для чего применяется?
- Context - что такое, для чего применяется?
- Access - что такое, для чего применяется?
- Layout - что такое? как создать свой лэйаут?
Token.
- Что такое токен и для чего используются, примеры?
- Как создать свой собственный токен?
Image.
- Основные image style экшены (Scale, Resize, Scale & Crop, Canvas, Overlay)
- Как программно отрисовать картинку без презета/с презетом?
- Как работает модуль image?
Input format.
- Plain text, Filtered text - отличие, когда что нужно использовать?
- Input format - для чего нужны? Примеры.
Features.
- Для чего нужен? Примеры использования.
JS, CSS, JSS
- Способы подключения собственного JS
- Что такое Drupal.settings? Примеры использования.
- Behavior, что такое и зачем использовать?
- Основные стандарты кодинга в JS
Cache
- drupal_static(), cache_set(), cache_get().
- Что такое memcache? Зачем и как использовать?
- Boost, что такое, как работает? Когда надо использовать?
Apachesolr
- Что такое, как настроить?
- Как добавить/исключить контент-тайпы/поля из индексации
- Как затемить вывод результатов?
- Фасеты, что это такое