¿Cuál es la forma correcta de preprocesar los elementos de la colección de campo para agregar el nombre y el apellido de la clase?


Respuestas:


22

Normalmente lo haría en MYTHEME_preprocess_field_collection_item (), pero los elementos de la colección de campos no tienen su propio preproceso. Afortunadamente, son entidades, por lo que puede usar el preproceso de entidad para crear su propia función de preproceso de colección de campos:

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

En Drupal 8, la función de preproceso existe sin tener que agregar una:

/**
 * Implements hook_preprocess_field_collection_item().
 */
function mymodule_preprocess_field_collection_item(array &$vars, $hook) {
  //dpm($vars);
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.