首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Magento- 创办后台表单处理页

2012-11-14 
Magento- 创建后台表单处理页假设这个模块名字为:Mage_Sintax1. 模块声明文件: app/etc/modules/Mage_Sint

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>


2. 生成Module配置文件.
文件: app/code/local/Mage/Sintax/etc/config.xml
<?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>


3. 创建控制器文件 app/code/local/Mage/Sintax/controllers/Adminhtml/MyformController.php
<?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('*/*');    }}




4. 为Form文件穿件Block类(这步是可选的)

文件名: app/code/local/Mage/Sintax/Block/Myform.php

5. Layout 文件

文件: app/design/adminhtml/default/default/layout/sintax.xml
<?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>



6. Form 模板页
文件: app/design/adminhtml/default/default/template/sintax/myform.phtml
<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>



7. 翻译文件: app/locale/en_US/Mage_Sintax.csv

// this step is optional

8. Helper文件: app/code/local/Mage/Sintax/Helper/Data.php
<?PHPclass Mage_Sintax_Helper_Data extends Mage_Core_Helper_Abstract {}?>


以下几点说明:
1. config.xml中的acl标签的含义是什么?
2. helper类是必须的,为什么?
3. 本例block声明的类型为adminhtml/template, 不必声明相应的block类

热点排行