2

私は、magento adminhtml フォームに次のフィールドを持っています。

フォーム内のフィールド

送信時に、投稿を取得することを期待して、その内容を単純にダンプします。これは、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

)

私は何かを逃していますか?他のすべてのテキスト入力フィールドと同様に、なぜ日付フィールドが投稿に追加されないと言うのでしょうか?

乾杯

4

1 に答える 1

4

通話にnameキーがありません。addField('start_date', ..)

送信可能にする の各フィールドには、キーと値のペアVarien_Data_Formが必要です。name

フィールドのキーに割り当てた値は、をレンダリングするときに、対応する要素の属性のname値として使用されます。name<input><form>

于 2012-05-25T10:57:39.063 に答える