Php 如何设置表单字段的默认值-Magento?
我有一个管理表单字段(文本框) 我需要为这个文本字段设置一个默认值。我试过了,在里面设置'value'=>'120'。但它不起作用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
$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());