Magento- 创建后台表单处理页
假设这个模块名字为:Mage_Sintax
1. 模块声明
文件: app/etc/modules/Mage_Sintax.xml
<?xml version="1.0"?><config> <modules> <Mage_Sintax> <active>true</active> <codePool>local</codePool> </Mage_Sintax> </modules></config>
<?xml version="1.0"?><config> <modules> <Mage_Sintax> <version>0.1.0</version> </Mage_Sintax> </modules> <global> <models> <sintax> <class>Mage_Sintax_Model</class> <resourceModel>sintax_mysql4</resourceModel> </sintax> <sintax_mysql4> <class>Mage_Sintax_Model_Mysql4</class> </sintax_mysql4> </models> <blocks> <sintax> <class>Mage_Sintax_Block</class> </sintax> </blocks> <helpers> <sintax> <class>Mage_Sintax_Helper</class> </sintax> </helpers> </global> <admin> <routers> <sintax> <use>admin</use> <args> <module>Mage_Sintax</module> <frontName>sintax</frontName> </args> </sintax> </routers> </admin> <adminhtml> <translate> <modules> <mage_adminhtml> <files> <sintax>Mage_Sintax.csv</sintax> </files> </mage_adminhtml> </modules> </translate> <menu> <catalog> <children> <sintax_adminform translate="title" module="sintax"> <title>My Form</title> <action>sintax/adminhtml_myform</action> </sintax_adminform> </children> </catalog> </menu> <acl> <resources> <admin> <children> <catalog> <children> <sintax_adminform> <title>My Form</title> </sintax_adminform> </children> </catalog> </children> </admin> </resources> </acl> <layout> <updates> <sintax> <file>sintax.xml</file> </sintax> </updates> </layout> </adminhtml></config>
<?phpclass Mage_Sintax_Adminhtml_MyformController extends Mage_Adminhtml_Controller_Action{ public function indexAction() { $this->loadLayout()->renderLayout(); } public function postAction() { $post = $this->getRequest()->getPost(); try { if (empty($post)) { Mage::throwException($this->__('Invalid form data.')); } /* here's your form processing */ $message = $this->__('Your form has been submitted successfully.'); Mage::getSingleton('adminhtml/session')->addSuccess($message); } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); } $this->_redirect('*/*'); }}<?xml version="1.0"?><layout> <sintax_adminhtml_myform_index> <reference name="content"> <block type="adminhtml/template" name="myform" template="sintax/myform.phtml"/> </reference> </sintax_adminhtml_myform_index></layout>
<div type="button"><span>Submit my form</span></button> </td> </tr> </table></div><div name="edit_form" method="post" action="<?php echo $this->getUrl('*/*/post')?>"> <h4 name="myform[myfield]" /></td> </tr> </table> </fieldset> </form></div><script type="text/javascript"> var editForm = new varienForm('edit_form');</script><?PHPclass Mage_Sintax_Helper_Data extends Mage_Core_Helper_Abstract {}?>