Quelle est la bonne façon de prétraiter les éléments de collection de champs pour ajouter des noms de première et de dernière classe?
9
Comment ajouter 'first'et 'last'classer des noms en addition à 'odd'/ 'even'pour des éléments de collection de champs dans les fonctions de prétraitement?
Yepp, jetez un œil à l'intérieurhook_preprocess_field(&$vars)
leymannx
Réponses:
22
Vous feriez normalement cela dans MYTHEME_preprocess_field_collection_item (), mais les éléments de collection de champs n'ont pas leur propre prétraitement. Heureusement, ce sont des entités, vous pouvez donc utiliser le prétraitement d'entité pour créer votre propre fonction de prétraitement de collection de champs:
/**
* 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.}
hook_preprocess_field(&$vars)
Réponses:
Vous feriez normalement cela dans MYTHEME_preprocess_field_collection_item (), mais les éléments de collection de champs n'ont pas leur propre prétraitement. Heureusement, ce sont des entités, vous pouvez donc utiliser le prétraitement d'entité pour créer votre propre fonction de prétraitement de collection de champs:
la source
Dans Drupal 8, la fonction de prétraitement existe sans avoir à en ajouter une:
la source