2012-05-25 2 views
2

У меня есть следующие поля в форме magento adminhtml.Magento adminhtml поля формы, не добавляющие к POST

The fields within my form

На отправить внутримышечно ожидающей, чтобы захватить пост, а просто сбросить его содержимое, что им делать в моем saveAction.

public function saveAction() 
{ 
    if ($this->getRequest()->getPost()) 
    { 
     try{ 
      $postData = $this->getRequest()->getPost(); 
      echo '<pre>'; 
      print_r($postData); 
      exit; 

Результат выглядит следующим образом.

Array 
(
    [form_key] => I6jK6swe1EMl0wER 
    [carrier_code] => test 
    [postcode] => tescode 
    [sku] => 123445 
) 

Видеть моя форма определяется как:

$form = new Varien_Data_Form(); 
$this->setForm($form); 
$fieldset = $form->addFieldset('instance_form', array('legend'=>Mage::helper('instance')->__('Instance Filters'))); 

    $fieldset->addField('carrier_code', 'text', array(
      'label'  => Mage::helper('instance')->__('Carrier service'), 
      'name'  => 'carrier_code', 
      'after_element_html' => '<small>Leave blank for all Carriers.</small>', 
    )); 

    $fieldset->addField('postcode', 'text', array(
      'label'  => Mage::helper('instance')->__('Postcode'), 
      'name'  => 'postcode', 
      'after_element_html' => '<small>Leave blank for all Postcodes.</small>', 
    )); 

    $fieldset->addField('sku', 'text', array(
      'label'  => Mage::helper('instance')->__('Sku'), 
      'name'  => 'sku', 
      'after_element_html' => '<small>Leave blank for all Skus.</small>', 
    )); 

    $fieldset->addField('start_date', 'date', array(
      'label'  => Mage::helper('instance')->__('Start Date'), 
      'after_element_html' => '<small>Comments</small>', 
      'tabindex' => 1, 
      'image' => $this->getSkinUrl('images/grid-cal.gif'), 
      'format' => Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT) 
    )); 

    $fieldset->addField('aura', 'file', array(
      'label'  => Mage::helper('instance')->__('Upload'), 
      'value' => 'Uplaod', 
      'disabled' => false, 
      'readonly' => true, 
      'after_element_html' => '<small>Comments</small>', 
      'tabindex' => 1 
    )); 

Я ожидал увидеть выход, как это вместо:

Array 
(
    [form_key] => I6jK6swe1EMl0wER 
    [carrier_code] => test 
    [postcode] => tescode 
    [sku] => 123445 
    [start_date] => someValue 
    [aura] => anotherValue 

) 

я упускаю что-то? почему бы сказать, что поле даты не добавлено в сообщение, как и все остальные поля ввода текста?

Приветствия

+0

Любопытно узнать, что такое дамп '$ _POST', если вы удаляете свойства' tabindex'. – benmarks

+0

Где ключ 'name'' start_date'? –

+0

Если я удалю свойство tabindex, результат будет точно таким же. Я добавил ключ имени, а затем нашел, что он присутствует в сообщении! – activeDev

ответ

4

Вы упускаете name ключ в addField('start_date', ..) вызова.

Для каждого поля Varien_Data_Form необходимо указать пару ключей/значений name.

Значение, присваиваемое name ключа вашего месторождения используется в качестве значения для атрибута соответствующего <input> элемента name при рендеринге <form>.

Смежные вопросы