Общие вопросы друпал Flashcards
Какими средствами вы можете вывести контент или список контента на
странице?
views
panels
block
кастомный код + собственный роут
Cron. Работа с cron в Drupal. Хук cron_queue_info(?). Очереди
Крон - подсистема друпал, позволяющая периодически выполнять набор функций
Для работы с очередями в друпа существует queuqe api
Как работает AJAX в Drupal? Какие инструменты для работы с AJAX есть в
Drupal?
AJAX Forms
AJAX Link (<a>open alert for ajax link testing</a> )
AJAX Контроллер + роут
Что такое Drupal behaviors и зачем они нужны?
Срабатывают при загрузке страницы и отправке аджакса.
Ядро Drupal вызывает behaviours, когда DOM полностью загружен
Могут срабатывать много раз, чтобы этого избежать используется метод once.
Что такое Drush? Какие Drush команды вы знаете? Как создать свою Drush
команду?
a. Drupal console?
…
hook_drush_command
Drupal console - интерфейс командной строки, позволяет генерировать стандартный код
Использование drupal_static. Для чего?
Обеспечивает центральное хранение статических переменных. Всем функциям, которым требуется статическая переменная для сохранения или кэширования данных в пределах одного запроса страницы
Input format для полей “текстовая область”. Какие форматы есть по-умолчанию,
чем они отличаются друг от друга? Зачем нужны инпут форматы? XSS?
Это необходимо чтобы оградить сайт от насанкционированного html кода(например cross site scripting)
Input format необходим для фильтрации пользовательского ввода
Text
Filterd HTML
FullHTML
Что такое лог? Как можно добавить запись в лог?
Лог - журнал действий пользователя или программы (нотисы, ошибки) для протоколирования выполняемых операций для дальнейшего анализа
в 7
watchdog(‘my_module’, $message, array());
в 8
\Drupal::logger(‘my_module’)->notice($message);
Какими способами можно загрузить контент из БД по условию?
a. EntityQuery
b. PDO
c. Entity:loadMultiple
EntityQuery (друпал::енититиквери и кондишены)
PDO - DI на сервис Drupal\Core\Database\Connection
Entity:loadMultiple
Какие типы тестов есть в D8? Чем они отличаются?
a. Unit
b. Kernel
c. Functional
Unit - тестирование функций (UnitTestCase)
Kernel - тестирует интеграцию компонентов в систему, проверяет отсутствие конфликтов (KernelTestBase, EntityKernelTBase)
Functional - тесты над готовой системой, проверяют функционирование системы в комплексе
2 типа:
JavascriptTestBase - как работает система, если у пользователя включен JS в браузере
BrowserTestBase - Предоставляет контрольный пример для функциональных тестов Drupal.
WebTestCase -Тестовый набор для типичных тестов Drupal.