Lors de la création d'un nouveau nœud, j'ai ce champ de valeurs illimitées avec le bouton "Ajouter un nouvel élément".
C'est OK, merveilleux. Mais lorsque je modifie un nœud existant, j'obtiens pour moi une valeur supplémentaire vide INDÉSIRABLE :
Mon cas réel est celui d'un grand champ composé, mais je pensais que l'utilisation de ce petit champ comme exemple serait plus facile à comprendre.
Existe-t-il un moyen d'empêcher ce champ "supplémentaire" d'être ajouté de manière intrusive?
Réponses:
Cela fonctionnerait pour tous les formulaires d'édition de nœud:
la source
$form[$field_name][$field_language][$max_delta + 1] = $form[$field_name][$field_language][$max_delta];
pourrait marcher.Cela fonctionnerait pour tous les formulaires de modification de nœud sans même spécifier les noms de champ.
la source
if ($max_delta > 0) { unset($form[$field_name][$field_language][$max_delta]); }
Vous pouvez écrire votre propre module avec un hook_form_FORM_ID_alter pour supprimer le champ indésirable. Quelque chose comme...
la source
si d'un point de vue backend n'est pas possible pour le moment, une alternative pourrait être le Jquery suivant. Ce code supprimera uniquement la première cible lors du chargement de la page et ne supprimera la cible que lorsque l'utilisateur ajoutera des fichiers, vous n'aurez donc aucun problème lorsque vous avez déjà des fichiers:
(mettre avant la
body
balise de fermeture de votre page.tpl.php)Selon mon test, les images sont téléchargées sans problème et lorsque vous modifiez le nœud, tous les fichiers sont répertoriés.
Remarque: dans cet exemple, 'field_test_file' est le nom du champ CCK, alors n'oubliez pas de changer en fonction du nom de votre champ cck.
la source