如何设置表单字段的默认值 - Magento?

时间:2013-02-06 10:41:20

标签: php magento

我有一个管理表单字段(文本框),

$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值?

3 个答案:

答案 0 :(得分:4)

就我而言,setValues()功能覆盖了我为该字段设置的'值'

<强>原因:

在我的_prepareForm()函数中,我将值设置如下:

$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', 
      ));

_prepareForm()函数结束时,有以下代码行可重置表单值:

$form->setValues($model->getData());

<强>解决方案:

setValues()功能之前设置模型数据,如下所示:

if (!$model->getId()) {
    $model->setData('ajax_time_interval', '120');
}
$form->setValues($model->getData());

答案 1 :(得分:1)

你可以通过添加&#34;默认&#34;字段配置中的属性。

$fieldset->addField('ajax_time_interval', 'text', array(
          'label'     => Mage::helper('dealroom')->__('Page Refresh Time Interval'),
          'class'     => 'required-entry',
          'required'  => true,
          'name'      => 'ajax_time_interval',
          'default'     => '120', 
      ));

答案 2 :(得分:0)

删除最后一个分号....

查看此网站帮助我很多:

http://www.excellencemagentoblog.com/magento-admin-form-field

gl mf