Категория:
Опубликовано:

Как добавить препроцессор своей сущности

Если необходимо добавить препроцессор для кастомной сущности - можно воспользоваться хуком hook_preprocess_entity.

В этом случае придется производить дополнительные проверки типа сущности.

Если же хочется собственного препроцессора темы для созданной entity - нужно его запилить :)

Для этого, имплементируем hook_preprocess в котором добавим проверку существования препроцессора. Ну, и собственно сам препроцессор:

/**
 * Implements hook_preprocess().
 */
function MYMODULE_preprocess(&$variables, $hook) {
  if (isset($variables['elements']['#entity_type'])) {
    $function = __FUNCTION__ . '_' . $variables['elements']['#entity_type'];
    if (function_exists($function)) {
      $function($variables, $hook);
    }
  }
}

/**
 * Implements hook_preprocess_HOOK
 */
function MYMODULE_preprocess_MYENTITY(&$vars) {
  // Тут производим необходимые манипуляции
}

Теперь можно химичить с шаблоном.

Если у Вас возникли вопросы, замечания, предложения или просто благодарность - пишите в комментариях.
Делитесь полезными материалами в социальных сетях.