Який правильний спосіб попередньо обробити елементи колекції поля, щоб додати імена першого та останнього класів?


9

Як додати 'first'і 'last'назви класів у додавання до 'odd'/ 'even'для елементів колекції полів у функціях попередньої обробки?


1
неперевірено: dropbucket.org/node/764
commonpike

Yepp, загляньте всерединуhook_preprocess_field(&$vars)
leymannx

Відповіді:


22

Як правило, це робиться в MYTHEME_preprocess_field_collection_item (), але елементи збору польових даних не мають власної попередньої обробки. На щастя, вони є сутностями, тому ви можете використовувати попередню обробку сутності для створення власної функції попередньої обробки колекції:

/**
 * Implements template_preprocess_entity().
 */
function MYTHEME_preprocess_entity(&$variables, $hook) {
  $function = 'MYTHEME_preprocess_' . $variables['entity_type'];
  if (function_exists($function)) {
    $function($variables, $hook);
  }
}

/**
 * Field Collection-specific implementation of template_preprocess_entity().
 */
function MYTHEME_preprocess_field_collection_item(&$variables) {
  $variables['classes_array'][] = 'your-class-here';
  // Plus whatever other preprocessing you want to do.
}

2

У Drupal 8 функція попередньої обробки існує без додавання її:

/**
 * Implements hook_preprocess_field_collection_item().
 */
function mymodule_preprocess_field_collection_item(array &$vars, $hook) {
  //dpm($vars);
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.