Payment method tidak tampil saat checkout

Kasus Payment method tidak tampil saat checkout saya dapatkan ketika produk yang dibeli mendapat diskon 100% alias gratis dan hanya dikenakan biaya pengiriman saja. Magento yang saya gunakan disini adalah magento CE 1.5. Aneh sekali menurut saya kasus ini karena jika diisikan harga, payment method tampil seperti biasa.

Setelah mencari cari di beberapa site akhirnya saya menemukan solusinya.

Pertama buat copy file dari app/code/core/Mage/Payment/Block/Form/Container.php ke folder local app/code/local/Mage/Payment/Block/Form/Container.php

Dan ‘goto’ line 119

$total = $quote->getBaseSubtotal();

ganti dengan :

$total = $quote->getBaseGrandTotal();

Saya sudah test scriptnya dan berjalan normal.
Penjelasan : script dari core memanggil Subtotal saja, jadi karena subtotal 0 maka payment method tidak muncul, lalu kita ganti dengan mamanggil grand total (sub total + tax) maka valuenya terdeteksi dan tidak 0.

Semoga membantu 🙂

Magento Send Email dengan Custom Email Template

Setelah membaca judul artikel pastilah muncul pertanyaan, kenapa mengirim email dengan custom email template? Saya mempunyai 2 alasan. Yang pertama adalah email yang kita kirimkan akan memiliki desain yg lebih cantik daripada hanya sekedar email text saja. Tentu akan menarik lebih banyak pengunjung ke website kita (untuk SEO). Yang kedua adalah kita dapat mengontrol variabel yang kita kirimikan kepada klien.

Jika anda seorang web developer pastilah anda pernah sesekali menemukan kebutuhan pengiriman email menggunakan custom template, baik itu equest dari klien ataupun untuk kerperluan sendiri.

Disini saya mendesain email menggunakan Transactional Email pada magento tepatnya di System -> Transactional Emails
Buatlah email baru dengan Add New Template. Disini saya menggunakan template yang sudah ada. Misalkan kita pilih template ‘New Invoice’. Kemudian Load Template.
Template Name dan Template Subject kita isi dengan ‘Test Custom Email’.

Dengan isinya :

Nama1(email1) mendapat undangan dari Nama2(email2) untuk datang pada tanggal : (tanggal) menghadiri acara pertemuan Magento Indonesia di Bali

Dengan Variable =>

{{htmlescape var=$nama1.nama1}}({{htmlescape var=$email1.email1}}) mendapat undangan dari {{htmlescape var=$nama2.nama2}}({{htmlescape var=$email2.email2}}) untuk datang pada tanggal : {{htmlescape var=$tanggal.tanggal}} menghadiri acara pertemuan Magento Indonesia di Bali

Edit Template content sesuai keinginan anda. Save template.

Kemudian buatlah sebuah file .phtml untuk tampilan frontend dan tampilkan melalui CMS.
Misalkan form dan proses pengirimannya sebagai berikut.

if(!empty($_GET['name1']) && !empty($_GET['name2']) && !empty($_GET['email1']) && !empty($_GET['email2'])){
	
	$mailTemplate = Mage::getModel('core/email_template');
	/* @var $mailTemplate Mage_Core_Model_Email_Template */

	$translate  = Mage::getSingleton('core/translate');
	 
	$templateId = 56; //id transactional email template yang anda buat tadi
	$template_collection =  $mailTemplate->load($templateId);                               
	$template_data = $template_collection->getData();
	if(!empty($template_data))
	{
		$templateId = $template_data['template_id'];
		$mailSubject = $template_data['template_subject'];                         
		 
		//Mengambil data pengirim dari Backend > System > Configuration > Store Email Addresses > General Contact
		$from_email = Mage::getStoreConfig('trans_email/ident_general/email'); //email pengirim
		$from_name = Mage::getStoreConfig('trans_email/ident_general/name'); //nama pengirim
 
		$sender = array('name'  => $from_name,
						'email' => $from_email);                                
		 
		$vars = array('name1'=>$_GET['name1'],
						'name2'=>$_GET['name2'],
						'email1'=>$_GET['email1'],
						'email2'=>$_GET['email2'],
						'tanggal'=>$_GET['tanggal']);                   
		
		$storeId = Mage::app()->getStore()->getId();
		$model = $mailTemplate->setReplyTo($sender['email'])->setTemplateSubject($mailSubject);
		
		$email = $_GET['email1'];
		$name = $_GET['name1'];                                           
		$model->sendTransactional($templateId, $sender, $email, $name, $vars, $storeId);                    
		if (!$mailTemplate->getSentSuccess()) {
				throw new Exception();
		}
		$translate->setTranslateInline(true);

	} 
}

<h1>Undang Teman Untuk Bergabung pada Workshop Magento di Bali 15-10-2013 dan dapatkan diskon 10%</h1>
<form method="GET" action="url-action" name="form_name" id="form_id">
	<input type="text" name="name1" />
	<input type="text" name="name2" />
	<input type="text" name="email1" />
	<input type="text" name="email2" />
	<input type="text" name="tanggal" value="15-10-2013" readonly="readonly" />
	<input type="submit" value="Kirim" />
</form>

Penjelasan : Pada email yg dikirimkan (email1) sebagai email pengirim adalah email website pada magento anda ($from_email) dan Nama Pengirim adalah nama website Magento anda ($from_name).

Violaaa , anda sudah bisa mengirim email dengan custom template pada Magento.

Selamat mencoba dan semoga artikel saya membantu 😀

Magento : Filter Kategori pada View.phtml

Magento - Bali web design - Bali web developer - get current category

Magento - Bali web design - Bali web developer - get current category

Berikut adalah code untuk memfilter kategori pada view.phtml.

Misalkan anda punya 3 kategori dengan urutan :
Kategori A -> id = 1
Ketagori B -> id = 2
Kategori C -> id = 3

pada kategori A anda ingin memasukkan ‘link 1’, pada kategori B ‘link 2’ dan kategori C ‘link 3’ :

$categoryId =  Mage::getModel('catalog/layer')->getCurrentCategory()->getId(); //untuk mendapatkan kategori yg aktif pada produk

if ($categoryId=='1'){
echo 'link 1';
} elseif ($categoryId=='2'){
echo 'link 2';
} else {
echo 'link 3';
}

Semoga membantu 😀

Magento : Cek User Login

Berikut adalah code untuk menegcek apakah user sudah login atau belum. Anda bisa menempatkan di file phtml mana saja.

$loggedIn = $this->helper('customer')->isLoggedIn();

Contoh penggunaannya : Misal pada menu content website terdapat sebuah link yg akan terbuka jika user sudah login

$loggedIn = $this->helper('customer')->isLoggedIn();
if ($loggedIn==''){
  echo 'Silakan login dulu untuk buka link'
} else {
  echo '<a href="https://www.adisthana.com/magento-cek-user-login">Link</a>'
}

Semoga membantu 😀

Magento : Konversi Harga dari Current Currency ke Base Currency

Berikut adalah code untuk konversi Harga dari Current Currency ke Base Currency. Code bisa diaplikasikan jika website mempunyai multiple currency.

Dari kode di bawah, anda bisa mengkonversi sesuai keinginan. Hanya memerlukan ‘Dari Currency Code‘ dan ‘Ke Currency Code’. Pada contoh dibawah, saya akan mencoba mengkonversi dari current currency ke base currency. Anda juga bisa melakukan vice-versa.

Fungsi konversi Currency mengikuti parameter berikut : currencyConvert($amount, $from, $to=null)

$baseCurrencyCode = Mage::app()->getStore()->getBaseCurrencyCode();
$currentCurrencyCode = Mage::app()->getStore()->getCurrentCurrencyCode();
$price = 100;
 
// convert price from current currency to base currency
$priceOne = Mage::helper('directory')->currencyConvert($price, $currentCurrencyCode, $baseCurrencyCode);
 
// convert price from base currency to current currency
$priceTwo = Mage::helper('directory')->currencyConvert($price, $baseCurrencyCode, $currentCurrencyCode);

Merubah harga dari satu currency ke currency yang lain.

Anda bisa merubah secara manual dari satu currency ke currency yang lain. Misal, saya mempunyai harga dalam ‘USD’ dan saya ingin merubah ke ‘IDR’, maka codenya adalah sebagai berikut :

$from = 'USD';
$to = 'IDR';
$price = 10;
 
$newPrice = Mage::helper('directory')->currencyConvert($price, $from, $to);

Semoga membantu 😀

Harga Slicing Photoshop File

Ada kalanya anda sudah mempunya desain website dalam bentuk gambar (PSD), tetapi bingung bagaimana mengimplementasikannya menjadi sebuah website. Slicing disini kami maksudkan adalah mengkonversi desain gambar anda menjadi baris-baris kode(HTML/CMS Engine) yang dapat dibaca oleh web browser sehingga menjadi sebuah website. Kami menawarkan beberapa paket slicing basic untuk mengembangkan desain website anda.

 

  1. Slicing PSD to HTML – Start from IDR 250.00 per page
  • Simple Layout file
  • Grid 960
  • Tidak responsive
  • 1 Slider jQuery Plugin

 

  1. Slicing PSD to WordPress – Start from IDR 400.00 per page
  • Simple Layout file
  • Grid 960
  • Tidak responsive
  • 1 Slider jQuery Plugin
  • Slider file hardcode

 

  1. Slicing PSD to Magento – Start from IDR 500.00 per page
  • Simple Layout file
  • Grid 960
  • Tidak responsive
  • 1 Slider jQuery Plugin
  • Slider file hardcode

 

Kami juga menawarkan slicing template yang lebih bervariasi dalam penggunaan slider kreatif dan responsive themes. Untuk harga silakan konsultasikan dengan kami, hubungi kami via email di info@adisthana.com.

Jika anda belum menemukan apa yang anda cari atau masih bingung dengan paket yang kami tawarkan, silakan langsung menghubungi disini atau 087887990222/08179701224 untuk konsultasi.

Semua harga bisa dinegosiasikan.

Klik disini untuk melihat harga paket website