嗨 夥計們我有一個自定義模塊的magento管理面板生成的窗體的表單行爲的問題。管理面板magento形式操作問題
這是我的文件下的應用程序/代碼/本地/命名空間結構/郵編/砌塊
Block
|
|____Adminhtml
|
|____ Importblock
|
|__Edit
| |__Form.php
| |__Tabs.php
| |
| |__Tab
| |___Form.php
|
|__Edit.php
|
|
Zipcodes
|
|__Edit
| |__Form.php // << this file is getting called in importblock form
| |__Tabs.php
| |
| |__Tab
| |___Form.php
|
|__Edit.php
這是我ZipcodesController.php
public function importAction()
{
if ($data = $this->getRequest()->getPost() && isset($_FILES['csv_file']['name']))
{
echo '<br> hi ! we uploaded the file';
}
$this->_initAction();
$this->_addContent($this->getLayout()->createBlock('zipcodes/adminhtml_importblock_edit'))
->_addLeft($this->getLayout()->createBlock('zipcodes/adminhtml_importblock_edit_tabs'));
$this->renderLayout();
}
的操作方法,這是我的座/Adminhtml/Importblock/Edit.php
<?php
class Namespace_Zipcodes_Block_Adminhtml_Importblock_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
{
public function __construct()
{
parent::__construct();
$this->_objectId = 'id';
$this->_blockGroup = 'zipcodes';
$this->_controller = 'adminhtml_zipcodes';
$this->_updateButton('save', 'label', Mage::helper('zipcodes')->__('Upload file'));
}
public function getHeaderText()
{
return Mage::helper('zipcodes')->__('Import Zipcode data');
}
}
這是我的座/ Adminhtml/Importblock /編輯/標籤/ form.php的
class Namespace_Zipcodes_Block_Adminhtml_Importblock_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/import'),
'method' => 'post',
'enctype' => 'multipart/form-data'
)
);
$this->setForm($form);
//echo '<br>form.php bahar<pre>';print_r(get_class_methods(get_class($form))); echo '</pre>';
$fieldset = $form->addFieldset('zipcodes_form', array('legend'
=> Mage::helper('zipcodes')->__('Provide data file')));
$fieldset->addField('csv_file', 'file', array(
'label' => Mage::helper('zipcodes')->__('CSV File'),
'class' => 'required-entry',
'required' => true,
'name' => 'csv_file',
));
return parent::_prepareForm();
}
}
這是我的座/ Adminhtml/Importblock /編輯/ Tabs.php
class Namespace_Zipcodes_Block_Adminhtml_Importblock_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
{
public function __construct()
{
parent::__construct();
$this->setId('zipcode_import_tabs');
$this->setDestElementId('edit_form');
$this->setTitle(Mage::helper('zipcodes')->__('Import Zipcodes'));
}
protected function _beforeToHtml()
{
$this->addTab('form_section', array(
'label' => Mage::helper('zipcodes')->__('Zipcode Info'),
'title' => Mage::helper('zipcodes')->__('Zipcode Info'),
'content' => $this->getLayout()
->createBlock('zipcodes/adminhtml_importblock_edit_tab_form')->toHtml(),
'active' => true
));
return parent::_beforeToHtml();
}
}
&最後這是我Block_Adminhtml_Importblock_Edit_Form.php
class Namespace_Zipcodes_Block_Adminhtml_Importblock_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/import'),
'method' => 'post',
)
);
$form->setUseContainer(true);
$this->setForm($form);
return parent::_prepareForm();
}
}
,當我運行代碼的最後一個文件不會被調用。因爲我使用的代碼$this->_addContent($this->getLayout()->createBlock('zipcodes/adminhtml_importblock_edit'))
由於這個時候的形式獲取呈現我看到的形式行動行動/保存,而不是/進口
所以我改變了Block_Adminhtml_Importblock_Edit_Tab_Form &寫道
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/import'),
'method' => 'post',
'enctype' => 'multipart/form-data'
)
);
但仍是其表現形式操作爲/保存不導入。任何人可以幫助我解決這個
傢伙,我發現多了一個線索
下的文件Adminhtml /郵編/編輯/ form.php的是越來越稱爲importblock的形式 這就是爲什麼該動作沒有得到在運行時設置。 現在誰能幫助我如何刪除此錯誤&做出正確的參考Adminhtml/Importblock /編輯/ form.php的
由於其請這麼近幫我