Comment éviter des field_collection vides

jeu, 12/02/2015 - 15:44 -- jcisio
Tags: 
field collection, Drupal tips

Quand on utilise field_collection, dans certain cas, le dernier item d'un champ est vide (une entité field_collection est créée sans aucune donnée utile). Pour contourner ce problème, le module fournit un hook hook_field_collection_is_empty_alter() pour décider quand est-ce un item est vide.

Exemple :

/**
 * Implements hook_field_collection_is_empty_alter().
 */

function magnard_fiche_livre_field_collection_is_empty_alter(&$is_empty, FieldCollectionItemEntity $item) {
  if ($item->field_name == 'field_produit_auteurs' && empty($item->field_produit_auteur[LANGUAGE_NONE])) {
    $is_empty = TRUE;
  }
}

Ce morceau de code évite de la création d'une field_collection field_produit_auteurs si elle n'a pas son champ field_produit_auteur (sans "s") rempli.