Magento – Form dan Controller Frontend

Untuk membuat form di frontend pada Magento banyak cara yang dapat digunakan. Disini saya akan membahas bagaimana membuat form lewat phtml dan membuat controllernya. Disini saya menamai ‘name_space’ dengan nama Adisthana dan ‘modul’ dengan nama Modulku. Saya asumsikan anda sudah mempunya modul tersebut pada magento anda.

1. Buka file Adisthana/Modulku/etc/config.xml cari tag <frontend>, jika belum ada tambahkan code seperti dibawah :

  <frontend>
    <routers>
        <modulku>
            <use>standard</use>
            <args>
                <module>Adisthana_Modulku</module>
                <frontName>modul</frontName>
            </args>
        </modulku>
    </routers>
	<layout>
		<updates>
			<modulku>
				<file>modulku.xml</file>
			</modulku>
		</updates>
	</layout>
  </frontend>
-
-
-
-
<blocks>
            <modulku>
                <class>Adisthana_Modulku_Block</class>
            </modulku>
        </blocks>
        <helpers>
            <modulku>
                <class>Adisthana_Modulku_Helper</class>
            </modulku>
        </helpers>
 

2. Insert xml pada layout di frontend –> frontend/default/Nama_themes/layout/modulku.xml

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
    </default>
    <modulku_index_index><!--modulename_controllername_actionName-->
        <reference name="content">
            <block type="core/template" name="modulku" template="modul/modul.phtml" />
        </reference>
    </modulku_index_index>
</layout>

3. Buat form anda di frontend/default/Nama_themes/template/modul/modul.phtml Form berikut adalah permisalan

<form id="modul_form" name="modul_form" action="<?php echo $this->getUrl('modul/') ?>index/createNewFormModul" method="post">
//element form anda disini
</form>

4. Buat Helper di Adisthana/Modulku/Helper/Data.php

<?php

class Adisthana_mosulku_Helper_Data extends Mage_Core_Helper_Abstract
{

}

5. Buat controller form anda. Adisthana/Modulku/controller/IndexController.php

<?php

class Adisthana_Modulku_IndexController extends Mage_Core_Controller_Front_Action {
    public function createNewFormModulAction() {
		// script disini
		// linknya nanti menjadi domain.com/modul/index/createNewFormModul
    }
}

Selesai. Nanti akan saya lanjutkan bagaimana untuk save ke databasenya pada artikel yang berbeda.
Semoga membantu 🙂