При создании нового узла у меня есть это поле неограниченных значений с кнопкой «Добавить новый элемент».
Это нормально, замечательно. Но когда я редактирую существующий узел, я получаю НЕДОПУСТИМОЕ пустое дополнительное добавленное значение для меня:
Мой реальный случай с большим составным полем, но я подумал, что использование этого небольшого поля в качестве примера будет проще для понимания.
Есть ли способ предотвратить навязчивое добавление этого «лишнего» поля?
Ответы:
Это будет работать для всех форм редактирования узла:
источник
$form[$field_name][$field_language][$max_delta + 1] = $form[$field_name][$field_language][$max_delta];
может сработать.Это будет работать для всех форм редактирования узла, даже не указывая имена полей.
источник
if ($max_delta > 0) { unset($form[$field_name][$field_language][$max_delta]); }
Вы можете написать свой собственный модуль с hook_form_FORM_ID_alter для удаления ненужного поля. Что-то вроде...
источник
если с точки зрения серверной части пока невозможно, альтернативой может быть следующий Jquery. Этот код удалит только первую цель при загрузке страницы, и удалит только цель, когда пользователь добавит файлы, поэтому у вас не будет проблем, когда у вас уже есть файлы:
(поместите перед
body
закрывающим тегом вашего page.tpl.php)Согласно моему тесту изображения загружаются без проблем, и при редактировании узла все файлы отображаются в списке.
примечание: в этом примере 'field_test_file' - это имя поля CCK, поэтому не забудьте изменить его в соответствии с именем вашего поля cck.
источник