Skip to research

hook_ theme_ suggestions_ FIELD_ alter

Image
Illustration for suggestions fields
Temps de lecture
Moins d'une minute

Construction complète de suggestion de template pour les champs.

/**
 * Implements hook_theme_suggestions_field_alter
 */
function theme_name_theme_suggestions_field_alter(array &$suggestions, array $variables) {
  // Prepare the array suggestion
  $suggestions = [];
  // Build a variable with field information
  $element = $variables['element'];
  // sanitize #view_mode
  $sanitized_view_mode = strtr($element['#view_mode'], '.', '_');
  // Suggest template
  $suggestions[] = 'field__' . $element['#field_type'];
  $suggestions[] = 'field__' . $element['#field_name'];
  $suggestions[] = 'field__' . $element['#entity_type'] . '__' . $element['#bundle'];
  $suggestions[] = 'field__' . $element['#entity_type'] . '__' . $element['#field_name'];
  $suggestions[] = 'field__' . $element['#entity_type'] . '__' . $element['#field_name'] . '__' . $element['#bundle'];
  $suggestions[] = 'field__' . $element['#entity_type'] . '__' . $element['#field_name'] . '__' . $sanitized_view_mode;
  $suggestions[] = 'field__' . $element['#entity_type'] . '__' . $element['#field_name'] . '__' . $element['#bundle'] . '__' . $sanitized_view_mode;
}