Pages

Tuesday, April 28, 2015

Magento Create, Read dan Delete Session

Berikut adalaha cara bagaimana untuk create/set, read dan delete/remove/hapus session pada website Magento. Kode berikut bisa diaplikasikan pada controller ataupun file .phtml pada Magento.

Create/Set Session

$string = 'Hello World'
$awbaliSession = Mage::getSingleton('core/session');
$awbaliSession->setTestSession($string);
Pada kode diatas, kita akan menset sebuah session bernama TestSession dengan value 'Hello World'. Gunakanlah set dan diikuti nama session untuk menset session pada magento website.

Read Session

$awbaliSession = Mage::getSingleton('core/session');
$awbaliSession->getTestSession();
//untuk menampilkan
echo $awbaliSession->getTestSession(); 
Untuk membaca sebuah session pada magento gunakanlah get kemudian diikuti nama session yang sudah kita set sebelumnya.

Delete/Remove/Unset/Hapus Session

$awbaliSession = Mage::getSingleton('core/session');
$awbaliSession->unsTestSession();

Untuk Delete/Remove/Unset/Hapus Session gunakanlah uns kemudia diikuti nama session.

Semoga bermanfaat :D

Thursday, April 23, 2015

Konfirmasi Pembayaran Magento Module



Di kebanyakan Toko Online yang ada di Indonesia masih menggunakan pembayaran secara manual, seperti Setor Tunai, Internet Banking, SMS Banking dll pada saat pelanggan melakukan transaksi. Lalu, bagaimana cara agar pemilik Toko Online tahu bahwa pelanggan sudah melakukan pembayaran terhadap barang atau jasa yang dibeli? Tentunya dibutuhkan sebuah konfirmasi oleh pembeli yang sudah melakukan pembayaran. Bisa menghubungi pemilik Toko Online lewat SMS, email atau pemilik Toko Online menyediakan sebuah form yang dapat diakses oleh pembeli untuk melakukan konfirmasi terhadap pembayaran yang sudah dilakukan.

Disini saya membuat sebuah Modul Konfirmasi Pembayaran / Payment Confirmation yang dapat digunakan pada Toko Online yang menggunakan Magento sebagai engine nya. Di dalam Module Konfirmasi Pembayaran/ Payment Confirmation ini, pembeli yang sudah melakukan pembayaran dapat mengisikan form-form yang berisi data-data transfer yang sudah dilakukan. Kemudian, data-data tersebut akan tersimpan di Backend Magento. Dan, sebagai notifikasi akan terkirim sebuah email kepada pemilik Toko Online / Store Owner.

Untuk Demo Magento Module Konfirmasi Pembayaran Backend dan Frontend, silakan Klik link dibawah :

Demo Frontend | Demo Backend

Magento Backend Username dan password :
Username : demo
Password : admin1234

Magento Module Frontend

Pada halaman frontend, terdapat form yang berisi inputan dan wajib diisi oleh pembeli yang sudah melakukan pembayaran. Halaman ini terdapat di app\design\frontend\base\default\template\konfirmasipembayaran\index.phtml. Anda bisa mengedit halaman ini untuk menambahkan kalimat penjelasan sesuai keperluan. Setelah data di submit, maka akan muncul halaman sukses. Halaman ini ada di app\design\frontend\base\default\template\konfirmasipembayaran\sukses.phtml

Magento Module Backend

Pada demo backend, login telebih dahulu menggunakan username dan password diatas. Data-data yang diinput di frontend akan tampil di halaman backend ini. Notifikasi email diterima oleh store owner. Jika ingin mengganti masuk ke magento backend-> System->Configuration->Store Email Address. Email notifikasi akan diterima oleh General Contact. Sedangkan email yang tertera pada halaman sukses adalah support email (Customer Support).

Module ini dapat anda download melalui link dibawah. Semoga membantu teman-teman pemilik Toko Online magento agar bisnis nya lebih berkembang. :D Jika memiliki kesulitan dalam menginstall module silakan masukkan komentar di bawah atau email saya melalui info@adisthana.com

Demo Frontend | Demo Backend | Download

Tuesday, September 9, 2014

Bagaimana Cara Membuat Website

Artikel/ tutorial berikut ini adalah untuk pemula atau orang yang baru belajar tentang website. Artikel ini tidak ditujukkan kepada webmaster/ webdesigner/ webdeveloper yang sudah mempunyai pengalaman dan sudah ahli pada bidang website dan webdesign.

Disini saya akan mencoba berbagi tips dan trik kepada teman-teman untuk pembuatan website. Cara/langkah berikut merupakan cara menurut saya sesuai pengalaman. Cekidot gan!!

Bagaimana Cara Membuat Website

1. Persiapkan Domain Name




Apa itu domain name? domain name adalah nama unik atau alamat yang diberikan untuk mengidentifikasi server. domain name juga sering disebut sebagai URL atau alamat website. Contoh domain name adalah ‘adisthana.com‘ . Saran untuk pemilihan domain name :
- Sesuaikan nama domain dengan website yang akan anda buat. Contoh yang salah : nama domain misalnnya gwbolabanget.com , isi website membahas pilpres dan politik (ini ga nyambung banget, jadi jangan ditiru)
- Pilihlah domain yang mudah diingat
- Pilih nama domain yang menarik
- dan lain2

Ada banyak sekali website penyedia jasa domain name yang tersebar di internet. Anda bisa pilih salah satu. Setelah menentukan domain name, sekarang kita persiapkan hostingnya.

2. Web Hosting




Apa itu Web Hosting? Web hosting dalam bahasa sederhana adalah tempat untuk menyimpan isi/file dari website. File bisa berbentuk script, gambar, audio, video dll. Web Hosting Provider pun juga banyak tersedia di internet. Anda bisa sesuaikan jangka waktu dan besar space hosting sesuai dengan keperluan anda. Jika anda masih dalam tahap belajar dan coba-coba , saya sarankan pake gratis dulu saja. Bisa search di google dengan keyword : “Free web hosting” atau “Web Hosting Free” atau “Web Hosting Gratis”

3. Web Builder




Web Builder disini adalah alat/tool yang akan kita gunakan dalam membangun website. Sebagai alternatif kita bisa menggunakan CMS open source yang tersedia seperti wordpress, joomla, magento dll. Penggunaan masing-masing CMS tergantung dari jenis website yang akan dibuat. Selain mudah dimengerti secara UI (User Interface), anda juga tidak perlu memahami tentang bahasa pemrograman (untuk pemula). Ingat, masing-masing CMS mempunyai kelebihan dan kekurangan masing-masing. Gunakanlah sesuai dengan keperluan anda. Pada setiap CMS akan terdapat backend (administrator area) dan frontend (area yang akan dilihat pengunjung website). Pada backend inilah anda bisa edit-edit content website semau anda.

Alamat sudah ada, hosting sudah siap, web builder sudah oke sekarang waktunya menentukan design untuk frontend website

4. Web Design




Tahapan ini adalah tahapan yang paling seru karena kita akan menentukan design apa yang akan kita gunakan pada website kita. Design website sangat mempengaruhi traffic pada website. Jika anda menggunakan CMS Open Source tentu themes gratis nya juga akan banyak tersedia di internet. Sesuaikan themes dengan calon pengunjung website. Misal jika website bertemakan ‘Remaja’ pilih warna yang ramai pada bagian header, untuk mencirikan sesuatu yang berani dan bersemangat. Gunakalah warna-warna seperti merah kuning hijau dll. Pokoknya biar semangat hehehe!!! Jangan lupa menempatkan slideshow pada halaman depan / homepage website. Jangan lupa juga memberi logo pada website anda. Tempatkan logo pada bagian header agar mudah dilihat dan diingat.

Dan yang paling penting, pilihlah template website yang responsive.


Responsive Web Design disini adalah design web yang menyesuaikan besar layar pengunjung. Jika dibuka melalui HP/mobile, tablet, laptop, pc dll themes website anda akan terlihat selalu bagus. Jadi pengunjung tidak perlu memperbesar/ zoom karena tidak akan ada tulisan yang terlalu kecil untuk dibaca.

Jika saya misalkan pembuatan website sangat mirip dengan pembuatan rumah. Bayangkan rumah adalah website, tanah tempat membangun rumah adalah hosting, alamat rumah adalah domain, dan desain rumah sama dengan web design. Analogi sederhana seperti itu akan lebih memudahkan anda dalam mengerti dan memahami tentang website dan web design.

And Done!! Selamat kamu baru saja berhasil membuat website. Next, kita akan bahas bagian-bagian penting dan mendasar dari sebuah website yang perlu kamu ketahui.

Semoga membantu :D

Thursday, July 31, 2014

Play with Magento API SOAP V1

Sesuai judul, kali ini saya akan mencoba untuk berbagi tips dan trik bagaimana membuat Aplikasi di luar Magento tapi dengan mengandalkan API dari magento itu sendiri. Banyak sekali hal yang dapat kita lakukan pada penggunaan Magento API ini, seperti dijelaskan disini “The Magento SOAP v1 API provides you with the ability to manage your eCommerce stores by providing calls for working with resources such as customers, categories, products, and sales orders. It also allows you to manage shopping carts and inventory.” Kita juga bisa mengembangkan aplikasi iOS dan Android dengan menggunakan API SOAP method ini.

Koneksi

Setting SOAP account
Hal pertama yang harus dilakukan adalah membuat koneksi antara aplikasi yang kita buat dengan API dari magento. Untuk itu kita membutuhkan SOAP account yang terintegrasi dan mendapatkan role-role seperti yang kita inginkan. Caranya :

- Login ke backend magento
- System -> Web Services -> SOAP/XML-RPC – Roles
- Add New Role
- Resource Access -> All -> Save Role
- System -> Web Services -> SOAP/XML-RPC – Users
- Add New User
- Pada Tab ‘User Role’ pilih role yang kita buat tadi
- Save User

Sekarang kita sudah mempunyai username dan password yang akan kita gunakan untuk login nanti.

Login dengan SOAP account
Masuk ke server/hosting aplikasi anda, dan buat sebuah file baru dengan nama magehost.php. Kita akan membuat simple script untuk login dengan SOAP account.

$config=array();
$config["hostname"] = "namahost.com"; //ini adalah host magento anda
$config["login"] = "apiuser"; //ini adalah user API anda
$config["password"] = "apipassword"; //ini adalah password magento anda
 
$proxy = new SoapClient('http://'.$config["hostname"].'/index.php/api/soap/?wsdl', array('trace'=>1));
$sessionId = $proxy->login($config["login"], $config["password"]);


Tahan sampai disini, kemudian kita akan membuat sebuah file lagi untuk testing koneksi dan script kita apakah sukses atau gagal.

Get Customer via API SOAP
Untuk testing, kita akan mencoba memanggil data customer dengan sudah mengetahui ID dari customer tersebut. Buat file dengan nama getcustomer.php, dan isikan script di bawah :

require_once('magehost.php');
$customerId = '2';
$result = $proxy->call($sessionId, 'customer.info', $customerId);
var_dump($result);


Buka browser, masukkan url : namahost.com/getcustomer.php . Jika sukses data-data customer akan tampil pada browser anda dan jika gagal akan tampil juga pesan gagal. Pesan gagal bisa dilihat disini

Diatas adalah contoh yang sangat sederhana sekali pada penggunaan Magento API SOAP. Pada tulisan berikutnya kita akan mencoba hal yang lebih menantang yaitu memangil list customer dan memanfaatkan jQuery Autocomplete.

Semoga membantu :D

Monday, December 30, 2013

#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);

 }
}

Undang Teman Untuk Bergabung pada Workshop Magento di Bali 15-10-2013 dan dapatkan diskon 10%



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 :D

Sumber : #Magento Send Email dengan Custom Email Template

Saturday, December 21, 2013

#magento : 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 :)

Sumber : Payment method tidak tampil saat checkout

Thursday, December 19, 2013

#Magento Newsletter Subscriber Form di CMS Page

Pada magento kita diperbolehkan untuk menggunakan block newsletter form subscriber pada CMS yang kita inginkan. Cukup menggunakan kode block berikut :

{{block type="newsletter/subscribe" template="newsletter/subscribe.phtml"}}
Jika ingin mengedit tampilannya, dapat mengedit file phtml di app->design->frontend->default->nama themes->neswletter->subscribe.phtml

Semoga membantu :D

Sumber : #Magento Newsletter Subscriber Form di CMS Page