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 🙂

Magento – Upgrade Sql Setup Module

Magento – Upgrade Sql Setup Module

Magento – Upgrade Sql Setup Module

Saya asumsikan anda sudah membaca artikel terdahulu tentang ‘Setup SQL Magento Modul‘ . Sekarang kita sudah mempunyai module dengan nama Modulku dengan versi 0.1.0. Anda ingin menambahkan table atau menambahkan field pada database module anda.  Anda sudah mempunyai  file  mysql4-install-0.1.0.php (mysql setup file) di Modulku/sql/modulku_setup folder.

  1. Buat sebual file baru di dalam folder Modulku/sql/modulku_setup dengan nama mysql4-upgrade-0.1.0-0.1.1.php. Format penulisannya adalah mysql4-upgrade-CURRENT_VERSION-UPGRADED_VERSION.php
  2. Tulisakan sintak sql untuk upgrade atau membuat table baru.
    <?php
    
    $installer = $this;
    
    $installer->startSetup();
    
    $installer->run("
    
    script upgrade anda
    
    ");
    $installer->endSetup();
    
  3. Buka file config.xml di Modulku/etc/config.xml. Ubah versi module 0.1.0 menjadi 0.1.1 
    <?xml version="1.0"?>
    <config>
    
    <modules>
    <Adisthana_Modulku>
    <version>0.1.1</version>
    </Adisthana_Modulku>
    </modules>
    
    
  4. Refresh website dan selesai.

Magento – Module sql setup/install

Apa yang dimaksud dengan sql setup/install pada Magento?
Ketika anda ingin membuat module baru atau mengedit modul yang sudah ada mungkin anda perlu untuk menambah atau membuat sebuah tabel baru pada database. Nah, pada magento sudah disediakan layanan untuk membuat/ mengedit tabel dengan installer script.

Membuat installer/sql setup
Untuk membuat sql setup pada magento sangatlah mudah. Dengan beberapa langkah anda sudah bisa membuat tabel/ field baru pada database anda.

1. Buka file app/etc/modules/Modulku.xml (Disini nama modul yang akan saya setup adalah custom modul : Modulku)

<?xml version="1.0"?>
<config>
  <modules>
    <Adisthana_Modulku>
      <active>true</active>
        <codePool>local</codePool>
    </Adisthana_Modulku>
  </modules>
</config>
 

2. Buka file dan definisikan setup anda di /app/code/local/Adisthana/Modulku/etc/config.xml

<?xml version="1.0"?>
<config>

  <modules>
    <Adisthana_Modulku>
      <version>0.1.0</version>
    </Adisthana_Modulku>
  </modules>

  <global>
    <resources>

      <!-- Declaring module setup handler -->
      <!-- [start] -->
      <modulku_setup>
        <setup>
          <module>Adisthana_Modulku</module>
        </setup>
        <connection>
          <use>core_setup</use>
        </connection>
      </modulku_setup>
      <!-- [End] -->

      <modulku_write>
        <connection>
          <use>core_write</use>
        </connection>
      </modulku_write>

      <modulku_read>
        <connection>
          <use>core_read</use>
        </connection>
      </modulku_read>

    </resources>
  </global>
</config>
 

3. Tuliskan installer anda di Modulku/sql/modulku_setup/mysql4-install-0.1.0.php

<?php

  $installer = $this;

  $installer->startSetup();

  $installer->run("

CREATE TABLE IF NOT EXISTS {$this->getTable('adis')} (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `id_customer` varchar(30) NOT NULL,
  `address` varchar(200) NOT NULL,
  `city` varchar(50) NOT NULL,
  `state` varchar(50) NOT NULL,
  `zip` varchar(10) NOT NULL,
  `telp_number` varchar(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");

  $installer->endSetup();

4. Selesai. Simple dan mudah kan? 😀

5. Untuk upgrade sql setup anda bisa baca disini

Magento – Install Sample Data

Install sample data sangat mudah di magento. Yang anda perlukan adalah sample data yang dapat di download disini dan akses ke phpmyadmin. Ekstrak sample data, copykan media ke media. Lalu masuk ke phpmyadmin, pilih database magento anda lalu paste script sql sample data yang anda download tadi.

Pada kasus saya setelah install sample data saya tidak bisa login ke admin/backend situs. Kenapa? karena pada saat menginstall sample data tadi password admin di overwrite oleh script.Setelah googling akhirnya saya ketemu login dan passwordnya. Sample data menggunakan password standard 123123.

login:admin
pass:123123