Magento Maintenance Mode

Magento Maintenance Mode

Magento 1.4 + mempunyai fitur bagus yang memungkinkan kita untuk mengubah website ke “maintenance mode/ modus pemeliharaan” saat melakukan perubahan. Fiturnya nya sangat bagus, sehingga semua orang tidak dapat membuka link-link pada situs kita. Tapi, kita juga tidak dapat melakukan perubahan apapun. Nah berikut caranya agar orang lain melihat situs kita dalam ‘maintenance mode’ sedangkan kita dapat melakukan perubahan dalam web.

Yang harus kita lakukan adalah dengan mengedit 3 baris di index.php

Buka file index.php di folder root dan di atas line 57 tambahkan :

$ip = $_SERVER['REMOTE_ADDR'];
$allowed = array('4.2.0.0','1.8.2.2'); // ini adalah IP yang dibolehkan untuk melihat site tanpa maintenance mode

dan ganti code:

if (file_exists($maintenanceFile)) {

menjadi :

if (file_exists($maintenanceFile) && !in_array($ip, $allowed)) {

Buat file kosong dengan nama maintenance.flag dan upload pada root folder.
Gampang kan? Sekarang anda dapat mengakses web anda sementara orang lain melihatnya dalam maintenance mode.
Jika ingin mengganti designnya masuk ke :
errors -> local.xml -> pada default ganti dengan nama_skin_baru
Buat folder nama_skin_baru di errors. Ubah 503.phtml dan masukkan css dan file-file yang diperlukan.

Semoga membantu 🙂

Magento: get skin url, get media url, get base url, get store url

Magento: get skin url, get media url, get base url, get store url

Kita biasanya memerlukan gambar, javascript dll untuk Magento Mage Core, Static Blocks, CMS Page atau Phtml file. Berikut cara pemanggilannya di Magento.

Mengambil URL di Static Block/CMS Page

To get SKIN URL

 {{skin url='images/sampleimage.jpg '}}

To get Media URL

 {{media url='/sampleimage.jpg'}}

To get Store URL

 {{store url='mypage.html'}}

To get Base URL

 {{base url='yourstore/mypage.html'}}

Mengambil URL di PHTML

Not secure Skin URL

<?php echo $this->getSkinUrl('images/sampleimage.jpg') ?>

Secure Skin URL

<?php echo $this->getSkinUrl('images/ sampleimage.gif', array('_secure'=>true)) ?>

Get Current URL

<?php echo $current_url = Mage::helper('core/url')->getCurrentUrl(); ?>

Get Home URL

<?php echo $home_url = Mage::helper('core/url')->getHomeUrl(); ?>

Get Magento Media URL

<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK); ?>

Get Magento Media URL

<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA); ?>

Get Magento Skin URL

<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>

Get Magento Store URL

<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); ?>

Get Magento Js URL

<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS); ?>

Semoga membantu 😀

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 – 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 – 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