Magento adminhtml表单字段没有添加到POST

时间:2012-05-25 10:15:33

标签: php magento

我在magento adminhtml表单中有以下字段。

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

)
我错过了什么吗?为什么会说日期字段,而不是像所有其他文本输入字段一样添加到帖子中?

干杯

1 个答案:

答案 0 :(得分:4)

您错过name来电中的addField('start_date', ..)键。

您希望提交的Varien_Data_Form的每个字段都需要一个name键/值对。

在呈现name时,您为字段的name键指定的值将用作相应<input>元素的<form>属性的值。