Qual è il modo corretto di preelaborare gli elementi della raccolta di campi per aggiungere nomi di prima e ultima classe?


9

Come aggiungere 'first'e 'last'classificare i nomi in aggiunta a 'odd'/ 'even'per gli elementi della raccolta campi nelle funzioni di preelaborazione?



Sì, dai un'occhiata dentrohook_preprocess_field(&$vars)
leymannx

Risposte:


22

Normalmente lo faresti in MYTHEME_preprocess_field_collection_item (), ma gli elementi della raccolta dei campi non hanno il loro preelaborazione. Fortunatamente, sono entità, quindi è possibile utilizzare il preprocesso di entità per creare la propria funzione di preprocesso della raccolta di campi:

/**
 * 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

In Drupal 8 la funzione di preelaborazione esiste senza la necessità di aggiungerne una:

/**
 * Implements hook_preprocess_field_collection_item().
 */
function mymodule_preprocess_field_collection_item(array &$vars, $hook) {
  //dpm($vars);
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.