[SHARE] Cara Membuat Modul Di OpenCart (Basic)
Posted: Mon Mar 26, 2012 12:10 pm
Cara untuk membuat modul untuk OpenCart secara garis besar dibagi menjadi dua langkah:
Untuk Bagian Front:
Secara garis besar, file yang harus di-edit ada 3, yaitu:
lalu kita isi variabel di /language/bahasa_kita/module/halo.php. Seperti di bawah ini:
Kedua, kita edit file /catalog/view/template/module/halo.tpl.
Ketiga, untuk bagian controllernya yaitu yang ada di /catalog/controller/module/halo.php kita ubah seperti di bawah ini: (penjelasannya ada di listing kodenya)
- Untuk bagian Admin
Untuk bagian Front
- /catalog/language/bahasa_kita/module/halo.php
- /catalog/view/template/module/halo.tpl
- /catalog/controller/module/halo.php
- /admin/language/bahasa_kita/module/halo.php
- /admin/view/template/module/halo.tpl
- /admin/controller/module/halo.php
Untuk Bagian Front:
Secara garis besar, file yang harus di-edit ada 3, yaitu:
- /catalog/language/bahasa_kita/module/halo.php
- /catalog/view/template/module/halo.tpl
- /catalog/controller/module/halo.php
lalu kita isi variabel di /language/bahasa_kita/module/halo.php. Seperti di bawah ini:
Code: Select all
<?php
// Heading
$_['heading_title'] = 'Halo ...';
// Text
$_['text_halo'] = 'Halo, ';
$_['text_tamu'] = 'Fren';
$_['text_login'] = 'Login';
$_['text_logout'] = 'Logout';
?>
Code: Select all
<div class="box">
<div class="box-heading"><?php echo $heading_title; ?></div>
<div class="box-content">
<?php echo $text_halo . $text_nama?>
<?php if (!$logged) { ?>
<a href="<?php echo $login; ?>"><?php echo $text_login; ?></a> dulu <?php echo $text_nama; ?> ...
<?php } else { ?>
<a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a>
<?php } ?>
</div>
</div>
Code: Select all
<?php
class ControllerModuleHalo extends Controller {
protected function index() {
/**
* load ini mengambil dari /catalog/language/bahasa_kamu/module/halo.php.
* jadi, kalo mau me-load bestseller caranya ya: $this->language->load('module/bestseller').
*/
$this->language->load('module/halo');
/**
* semua variabel yang akan berlaku nanti di template yang akan kita gunakan harus di masukkan dalam variabel $this->data.
* jadi kalau ingin menggunakan variabel $cocok = 'Aku cocok sama Kamu.' di template nanti, maka harus kita wrap variabel cocok itu dalam variabel $this->data. jadinya seperti ini:
* @example $this->data['cocok'] = 'Aku cocok sama Kamu.'
*/
$this->data['heading_title'] = $this->language->get('heading_title');
$this->data['text_login'] = $this->language->get('text_login');
$this->data['text_logout'] = $this->language->get('text_logout');
$this->data['text_halo'] = $this->language->get('text_halo');
/**
* $this->customer diambil dari /system/library/customer dan ini terload otomatis pada saat sistem mulai bekerja (autoload) mirip seperti fitur yang ada di CodeIgniter.
*/
$this->data['text_nama'] = $this->customer->isLogged() ? $this->customer->getFirstName() : $this->language->get('text_tamu');
$this->data['login'] = $this->url->link('account/login', '', 'SSL');
$this->data['logout'] = $this->url->link('account/logout', '', 'SSL');
$this->data['logged'] = $this->customer->isLogged();
/**
* di sini kita meload file yang akan dijadikan template oleh kita. mudah sekali membacanya & basic sekali untuk programmer php.
*/
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/halo.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/halo.tpl';
} else {
$this->template = 'default/template/module/halo.tpl';
}
/**
* yang terakhir adalah render(). untuk lebih detailnya bisa lihat di /system/engine/controller.php pada fungsi render().
*/
$this->render();
}
}
?>