Mam pole formularza administratora (pole tekstowe),
$fieldset->addField('ajax_time_interval', 'text', array(
'label' => Mage::helper('dealroom')->__('Page Refresh Time Interval'),
'class' => 'required-entry',
'required' => true,
'name' => 'ajax_time_interval',
));
Muszę ustawić wartość domyślną dla tego pola tekstowego. Próbowałem, ustawiając 'value' => '120',
to. Ale to nie działa.
$fieldset->addField('ajax_time_interval', 'text', array(
'label' => Mage::helper('dealroom')->__('Page Refresh Time Interval'),
'class' => 'required-entry',
'required' => true,
'name' => 'ajax_time_interval',
'value' => '120',
));
Jak ustawić wartość defalt w tym polu?
setValues
Odpowiedzi:
Czy samo pole tekstowe jest wyświetlane? To ustawienie
'value' => '120'
wydaje mi się prawidłowe.źródło
addValues()
później zostanie użyta metoda, te wartości zostaną przepisane.Problem polega na tym, że wartości ustawione za pomocą
addField()
metody są następnie zastępowaneaddValues()
metodą, która próbuje skonfigurować wartości pól formularza, gdy formularz jest używany do edycji istniejących elementów lub wystąpił błąd podczas przesyłania.Oto obejście. Najprawdopodobniej otrzymujesz wartości za pomocą chronionej metody, takiej jak ta:
W ramach tej
_prepareForm()
metody zastępujesz:z:
źródło
Dziękujemy wszystkim za poświęcenie cennego czasu i wysiłku. Używałem
setValues()
późniejaddfields
. Tak więc wartości domyślne zostały usunięte.Przezwyciężam go, tworząc
if
pętlę, taką jak:120 to mój domyślny czas tutaj.
źródło
Dla każdego, kto szuka i pracuje nad wersją 1.9 i ma poniższe
Możesz wykonać następujące czynności bez konieczności edytowania istniejących danych, tuż nad tym miejscem kodu:
Oczywiście możesz sprawdzić isset i takie, ale oto podstawowa wersja ustawień domyślnych.
źródło
Możesz użyć
gdzie
$data
jest tablica pól formularza.źródło
=> Możesz dodać atrybut „default” w polach formularza. Lubię to :
źródło