У меня есть поле формы администратора (текстовое поле),
$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',
в нем. Но это не работает.
$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',
));
Как установить значение defalt в этом поле?
setValues
..Ответы:
Отображается ли само текстовое поле? Настройка
'value' => '120'
кажется мне правильной.источник
addValues()
метод будет использован впоследствии, эти значения будут переписаны.Ваша проблема заключается в том, что значения, которые вы устанавливаете с помощью
addField()
метода, затем перезаписываютсяaddValues()
методом, который пытается установить значения полей формы, когда форма используется для редактирования существующих объектов или произошла ошибка во время отправки.Вот обходной путь. Скорее всего, вы получаете значения с помощью защищенного метода, подобного этому:
Итак, внутри вашего
_prepareForm()
метода вы заменяете:с:
источник
Спасибо всем за ваше драгоценное время и усилия. Я использовал
setValues()
послеaddfields
. Значения по умолчанию были очищены.Я преодолел это, предоставив
if
цикл, такой как:120 мое время по умолчанию здесь.
источник
Для тех, кто ищет и работает на 1.9 и ниже
Вы можете сделать следующее, не редактируя существующие данные, прямо над этим местом кода:
Конечно, вы можете проверить isset и тому подобное, но вот базовая версия настроек по умолчанию.
источник
Ты можешь использовать
где
$data
массив полей формы.источник
=> Вы можете добавить атрибут 'default' в поля формы. Как это :
источник