Ao criar um novo nó, tenho esse campo de valores ilimitados com o botão "Adicionar novo item".
Tudo bem, maravilhoso. Mas quando edito um nó existente, recebo um valor extra vazio INDESEJADO para mim:
Meu caso real é com um grande campo composto, mas pensei que usar esse campo pequeno como exemplo seria mais fácil de entender.
Existe alguma maneira de impedir que este campo "extra" seja adicionado de forma intrusiva?
Respostas:
Isso funcionaria para todos os formulários de edição de nós:
fonte
$form[$field_name][$field_language][$max_delta + 1] = $form[$field_name][$field_language][$max_delta];
pode funcionar.Isso funcionaria para todos os formulários de edição de nó sem especificar os nomes dos campos.
fonte
if ($max_delta > 0) { unset($form[$field_name][$field_language][$max_delta]); }
Você pode escrever seu próprio módulo com um hook_form_FORM_ID_alter para remover o campo indesejado. Algo como...
fonte
se de uma perspectiva de back-end não for possível no momento, uma alternativa pode ser o seguinte Jquery. Esse código removerá apenas o primeiro destino quando a página for carregada e somente o destino será adicionado quando o usuário adicionar arquivos, para que você não tenha problemas quando já tiver arquivos:
(coloque antes da
body
tag de fechamento do seu page.tpl.php)De acordo com o meu teste, as imagens são carregadas sem problemas e, quando você edita o nó, todos os arquivos são listados.
note: neste exemplo 'field_test_file' é o nome do campo CCK, então lembre-se de alterar de acordo com o nome do seu campo cck.
fonte