관리자 양식 필드 (텍스트 상자)가 있습니다.
$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 값을 설정하는 방법은 무엇입니까?
답변
텍스트 필드 자체가 표시됩니까? 설정 'value' => '120'
이 올바른 것 같습니다.
답변
문제는 메소드로 설정 한 값을 기존 엔티티를 편집하는 데 양식이 사용되거나 제출 중에 오류가 발생했을 때 양식 필드 값을 설정하려고 시도하는 메소드 addField()
로 겹쳐 써진 다는 것입니다 addValues()
.
해결 방법은 다음과 같습니다. 아마도 당신은 다음과 같은 보호 된 방법으로 가치를 얻고 있습니다.
protected function _getFormData()
{
$data = Mage::getSingleton('adminhtml/session')->getFormData();
if (!$data && Mage::registry('current_osmm_project')->getData()) {
$data = Mage::registry('current_osmm_project')->getData();
}
return (array) $data;
}
따라서 _prepareForm()
메소드 내부에서 다음 을 대체하십시오.
$form->addValues($this->_getFormData());
와:
$_data = $this->__getFormData();
if (!empty($_data)) {
$form->addValues($_data);
}
답변
소중한 시간과 노력을 보내 주셔서 감사합니다. 나는 setValues()
후에 사용하고있었습니다 addfields
. 따라서 기본값이 지워졌습니다.
다음 if
과 같은 루프 를 제공하여 극복했습니다 .
if (Mage::registry('dealroom_data')->getAjaxTimeInterval() < 0 || Mage::registry('dealroom_data')->getAjaxTimeInterval() == "") {
Mage::registry('dealroom_data')->setAjaxTimeInterval(120);
}
여기서는 120 이 기본 시간입니다.
답변
1.9를 찾고 있고 아래에있는 사람
if($model){
$form->setValues($model->getData());
}
해당 코드 위치 바로 위의 기존 데이터를 편집하지 않고도 다음을 수행 할 수 있습니다.
if($model->getData('fieldName') == ""){
$model->setData('fieldName', "yourValue");
}
물론 isset 등을 확인할 수 있지만 기본 설정의 기본 버전은 다음과 같습니다.
답변
당신이 사용할 수있는
$data['ajax_time_interval'] = 120;
여기서 $data
양식 필드 배열입니다.
$data['{field_name}'] = '{field_name}';
답변
=> 양식 필드에 ‘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',
));