views
panels
block
кастомный код + собственный роут
Крон - подсистема друпал, позволяющая периодически выполнять набор функций
Для работы с очередями в друпа существует queuqe api
AJAX Form
1. Добавьте свойство ‘#ajax’ к элементу формы в массиве формы, чтобы вызвать ответ Ajax.
2. Напишите обратный вызов Ajax для обработки ввода
AJAX LInk
Создание контроллера
Определение Ajax команд Ajax API
Behavior вызывается при загрузке страницы, на каждый AJAX-запрос.
Ядро Drupal вызывает behaviours, когда DOM полностью загружен
Могут срабатывать много раз, чтобы этого избежать используется метод once.
cache:rebuildдля очистки и перестроения всех данных кэша на сайте. После запуска этой команды, вы увидите сообщение “Cache rebuild complete.”
config: export Экспорт конфигурации Drupal в каталог.
config: import Импорт конфигурации из каталога конфигурации.
- Для того чтобы добавить кастомную drush команду, мы должны создать собственный модуль и добавить в него файл с именем модуля, который заканчивается на drush.inc. В этом файле нужнореализовать drush_hook_command()и определить в нем нашу команду
a. Drupal console?
Drupal Console представляет собой набор приложений, работающих из интерфейса командной строки (CLI), чтобы создавать шаблонный код для установленного Drupal 8 приложения.
Обеспечивает центральное хранение статических переменных. Всем функциям, которым требуется статическая переменная для сохранения или кэширования данных в пределах одного запроса страницы
Это необходимо чтобы оградить сайт от насанкционированного html кода(например cross site scripting)
Input format необходим для фильтрации пользовательского ввода
Text
Filterd HTML
FullHTML
Лог - журнал действий пользователя или программы (нотисы, ошибки) для протоколирования выполняемых операций для дальнейшего анализа
в 7
watchdog(‘my_module’, $message, array());
в 8
\Drupal::logger(‘my_module’)->notice($message);
EntityQuery (друпал::енититиквери и кондишены)
PDO - DI на сервис Drupal\Core\Database\Connection
Entity:loadbyproperty
В друпал внедрена технология BigPipe. Как это работает. Для динамических элементов вместо содержимого на страницу добавляется специальный placeholder, благодаря чему DOM готов раньше чем содержимое для него. А затем в фоне проверяется наличие специальных меток, которые добавляются в самом конце загрузки страницы, и если они появились, выполняются их команды, которые заменяют плейсхолдеры на контент
Задается элемент рендер эреем c массивом по ключу #lazy_builder, где первый аргумент метод, который будет обрабатывать логику для рендера(предпочтительно передавать при помощи сервиса). Данный метод обязан возвращать render array. Второй аргумент: массив с данными которые вы хотите отдать в метод для будущего рендера.