Podczas tworzenia nowego węzła mam to pole nieograniczonych wartości za pomocą przycisku „Dodaj nowy element”.
W porządku, wspaniale. Ale kiedy edytuję istniejący węzeł, otrzymuję dla mnie NIEZADOWOLONĄ pustą dodatkową wartość dodaną:
Mój prawdziwy przypadek dotyczy dużego złożonego pola, ale pomyślałem, że użycie tego małego pola jako przykładu byłoby łatwiejsze do zrozumienia.
Czy mogę zapobiec ingerencji w to „dodatkowe” pole?
Odpowiedzi:
To działałoby dla wszystkich formularzy edycji węzłów:
źródło
$form[$field_name][$field_language][$max_delta + 1] = $form[$field_name][$field_language][$max_delta];
może działać.To działałoby dla wszystkich formularzy edycji węzłów, nawet bez podawania nazw pól.
źródło
if ($max_delta > 0) { unset($form[$field_name][$field_language][$max_delta]); }
Możesz napisać własny moduł za pomocą hook_form_FORM_ID_alter, aby usunąć niechciane pole. Coś jak...
źródło
jeśli z perspektywy zaplecza nie jest na razie możliwe, alternatywą może być następująca Jquery. Ten kod usunie tylko pierwszy cel po załadowaniu strony i usunie cel tylko wtedy, gdy użytkownik doda pliki, więc nie będziesz mieć problemów, gdy już masz pliki:
(postawiony przed
body
tagiem zamykającym page.tpl.php)Zgodnie z moim testem obrazy są przesyłane bez problemów, a podczas edycji węzła wyświetlane są wszystkie pliki.
Uwaga: w tym przykładzie „plik_testu_pola” to nazwa pola CCK, więc pamiętaj, aby zmienić zgodnie z nazwą swojego pola cck.
źródło