Magento – menggunakan phtml di CMS page

Ada kalanya ketika kita harus menggunakan phtml file di CMS page. Misalnya saja kita ingin membuat sebuah inputan form atau keperluan lain.

Langkah-langkahnya sangat mudah.

1. Buat CMS page baru CMS->page->Add new page

2. Buat sebuah file phtml di ../template/catalog/navigation/test_adis.phtml (jika sudah punya file phtmlnya langsung ke langkah 4)

3. Masukkan kode berikut di test_adis.phtml

<?php echo 'Menggunakan PHTML di CMS Page';?>

4. Masukkan kode berikut di Content pada CMS page

 {{block type="core/template" template="catalog/navigation/test_adis.phtml"}}

5. Karena saya membuat contohnya di catalog->navigation, jadi pada template saya panggil dengan template=”catalog/navigation/test_adis.phtml. Jika anda membuat di path lain , silakan ganti dengan path tempat phtml file anda.

 

Peace.

Semoga membantu 😀



Magento – Static Block di phtml

Berikut adalah cara untuk menggunakan static block di phtml.
Misal kita mempunyai sebuah static block dengan identifier ‘block_adis’ dan kita ingin menggunakannya di header.phtml.

1. Buka file header.phtml

2. Pastekan code berikut pada bagian header yang anda inginkan

<!-- static block stylist -->
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('block_adis')->toHtml() ?>
<!-- static block stylist -->

Selesai, semoga membantu 😀

Magento – Menggunakan jQuery di Magento

Secara default Magento menggunakan Prototype untuk library javascriptnya. Namun terkadang kita membutuhkan beberapa hal yang sulit untuk dilakukan prototype, maka kita disini akan mencoba untuk menginstall dan menggunakan jQuery sebagai library tambahan. Oh, ya sempat beberapa waktu lalu ada yang memberi tahu saya bahwa kedepannya magento tidak akan menggunakan prototype lagi dan akan bermigrasi total ke jQuery.

1. Download jQuery kemudian simpan di js -> jQuery -> filejQuery.js
2. Buka file app/design/frontend/default/template_custom/layout/local.xml

<?xml version="1.0" encoding="UTF-8"?>
<layout>
	<default>
		<reference name="head">
			<action method="addJs"><script>jquery/filejQuery.js</script></action>
		</reference>
	</default>
</layout>
 

3. Masuk ke backend, pilih CMS, add new CMS
4. Buat jQuery toggle sederhana seperti berikut :
html :

<p class="trigger"><a>Click here</a>
</p><div class="toggle_container">
<div class="block">
<ul>
<li>List item 01</li>
<li>List item 02</li>
<li>List item 03</li>
<li>List item 04</li>
</ul></div>
</div>
 

jQuery :

<script type="text/javascript">
 jQuery.noConflict();
 jQuery(document).ready(function(){
	jQuery(".toggle_container").hide();
	 jQuery("p.trigger").click(function(){
	 jQuery(this).toggleClass("active").next().toggle();
	});
});
</script>

5. Lihat hasilnya pada frontend sesuai link CMS page anda. Selesai
6. Semoga membantu 😀

Magento – Send Email

Untuk mengirim email di magento kita dapat dengan mudah melakukannya dengan menggunakan Zend_Mail
Berikut contohnya :

/**
 * Send email
 */
public function sendEmail()
{
    $fromEmail = "from@example.com"; // sender email address
    $fromName = "John Doe"; // sender name
 
    $toEmail = "to@example.com"; // recipient email address
    $toName = "Mark Doe"; // recipient name
 
    $body = "This is Test Email!"; // body text
    $subject = "Test Subject"; // subject text
 
    $mail = new Zend_Mail();        
 
    $mail->setBodyText($body);
 
    $mail->setFrom($fromEmail, $fromName);
 
    $mail->addTo($toEmail, $toName);
 
    $mail->setSubject($subject);
 
    try {
        $mail->send();
    }
    catch(Exception $ex) {
        // Saya asumsikan anda mempunyai custom_modul.
        // Jika tidak, anda dapat mengganti 'modulku' dengan default magento 'customer'
        Mage::getSingleton('core/session')
            ->addError(Mage::helper('modulku')
            ->__('Unable to send email.'));
    }
}

Selesai, semoga membantu 😀

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 🙂