Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何设置表单字段的默认值-Magento?_Php_Magento - Fatal编程技术网

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

Php 如何设置表单字段的默认值-Magento?,php,magento,Php,Magento,我有一个管理表单字段(文本框) 我需要为这个文本字段设置一个默认值。我试过了,在里面设置'value'=>'120'。但它不起作用 $fieldset->addField('ajax_time_interval', 'text', array( 'label' => Mage::helper('dealroom')->__('Page Refresh Time Interval'), 'class' => 'requ

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

我需要为这个文本字段设置一个默认值。我试过了,在里面设置'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', 
      ));

如何在该字段中设置默认值?

删除最后一个分号

查看此网站对我帮助很大:


Gl mf

在我的例子中,
setValues()
函数覆盖了我为字段设置的'value'

原因:

在我的
\u 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', 
      ));
if (!$model->getId()) {
    $model->setData('ajax_time_interval', '120');
}
$form->setValues($model->getData());
\u prepareForm()
函数的末尾,有一行代码将重置表单值:

$form->setValues($model->getData());
解决方案:

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

$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', 
      ));
if (!$model->getId()) {
    $model->setData('ajax_time_interval', '120');
}
$form->setValues($model->getData());
您可以通过在字段配置中添加“default”属性来实现这一点

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

你确定没有其他内容覆盖它吗?代码看起来很好,因为我刚刚做了一些非常类似的事情。尝试更改控件名称/id以确保其唯一性。我假定您指的是逗号
Guerra?PHP似乎在任何情况下都允许它位于数组的末尾。我也遇到了同样的问题,并且使用您的解决方案解决了这个问题。我使用了if(!$model->getId()){$model->setData('attribute_codel',$this->getRequest()->getParam('attributecode');}$form->setValues($model->getData());