Al crear un nuevo nodo, tengo este campo de valores ilimitados con el botón "Agregar nuevo elemento".
Eso está bien, maravilloso. Pero cuando edito un nodo existente, obtengo un valor adicional vacío NO DESEADO agregado para mí:
Mi caso real es con un gran campo compuesto, pero pensé que usar este pequeño campo como ejemplo sería más fácil de entender.
¿Hay alguna manera de evitar que este campo "extra" se agregue intrusivamente?
Respuestas:
Esto funcionaría para todos los formularios de edición de nodos:
fuente
$form[$field_name][$field_language][$max_delta + 1] = $form[$field_name][$field_language][$max_delta];
podría funcionar.Esto funcionaría para todos los formularios de edición de nodos sin siquiera especificar los nombres de campo.
fuente
if ($max_delta > 0) { unset($form[$field_name][$field_language][$max_delta]); }
Puede escribir su propio módulo con un hook_form_FORM_ID_alter para eliminar el campo no deseado. Algo como...
fuente
si desde una perspectiva de back-end no es posible por ahora, una alternativa podría ser la siguiente Jquery. Este código eliminará solo el primer destino cuando se cargue la página, y solo eliminará el destino cuando el usuario agregue archivos, por lo que no tendrá problemas cuando ya tenga archivos:
(poner antes de la
body
etiqueta de cierre de su page.tpl.php)Según mi prueba, las imágenes se cargan sin problemas, y cuando edita el nodo, se enumeran todos los archivos.
nota: para este ejemplo, 'field_test_file' es el nombre del campo CCK, así que recuerde cambiar de acuerdo con el nombre de su campo cck.
fuente