实际上,“联系我们”和“订单和退货”不是CMS页面。它们实际上是来自单独模块的页面。它们更像是“登录”或“注册”页面,而不是CMS页面。要创建这样的页面,您可以创建一个带有控制器,一个块和一个模板的简单模块。让我们将扩展名为Easylife_Customform。为此,您将需要以下文件。
app/etc/modules/Easylife_Customform.xml
-模块声明文件
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Customform>
<active>true</active>
<codePool>local</codePool>
</Easylife_Customform>
</modules>
</config>
app/code/local/Easylife/Customform/etc/config.xml
-配置文件
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Customform>
<version>0.0.1</version>
</Easylife_Customform>
</modules>
<global>
<blocks>
<customform><!-- block alias -->
<class>Easylife_Customform_Block</class>
</customform>
</blocks>
<helpers>
<customform><!-- helper alias -->
<class>Easylife_Customform_Helper</class>
</customform>
</helpers>
</global>
<frontend>
<routers>
<customform>
<use>standard</use>
<args>
<module>Easylife_Customform</module>
<frontName>customform</frontName><!-- url key for module -->
</args>
</customform>
</routers>
<layout>
<updates>
<easylife_customform>
<file>easylife_customform.xml</file><!-- frontend layout file -->
</easylife_customform>
</updates>
</layout>
<translate>
<modules>
<Easylife_Customform>
<files>
<default>Easylife_Customform.csv</default><!-- translation file (not mandatory) -->
</files>
</Easylife_Customform>
</modules>
</translate>
</frontend>
</config>
app/design/frontend/base/default/layout/easylife_customform.xml
-前端布局文件
<?xml version="1.0"?>
<layout>
<customform_index_index translate="label" module="customform">
<label>Custom form</label>
<reference name="root">
<action method="setTemplate"><template>page/2columns-right.phtml</template></action><!-- can be different -->
</reference>
<reference name="content">
<block type="core/template" name="customform" template="easylife_customform/form.phtml" /><!-- content of page -->
</reference>
</customform_index_index>
</layout>
app/code/local/Easylife/Customform/Helper/Data.php
-默认模块助手
<?php
class Easylife_Customform_Helper_Data extends Mage_Core_Helper_Abstract{
}
app/design/frontend/base/default/template/easylife_customform/form.phtml
-表单的实际html-使其看起来像您需要的
<form action="<?php echo $this->getUrl('customform/index/send')?>">
<input type="text" name="name" />
<input type="submit" />
</form>
app/code/local/Easylife/Customform/controllers/IndexController.php
-模块控制器
<?php
class Easylife_Customform_IndexController extends Mage_Core_Controller_Front_Action{
public function indexAction(){ //this will display the form
$this->loadLayout();
$this->_initLayoutMessages('core/session'); //this will allow flash messages
$this->renderLayout();
}
public function sendAction(){ //handles the form submit
$post = $this->getRequest()->getPost();
//do something with the posted data
Mage::getSingleton('core/session')->addSuccess($this->__('Your message was sent'));//add success message.
$this->_redirect('*/*');//will redirect to form page
}
}
应该是这样。清除缓存,您应该能够访问该表单,mysite.com/customform
希望我正确编写了代码并且没有错过任何内容