Friday, April 8, 2011

Bikin Module Prestashop Sederhana

Prestashop. Mungkin ada yang tau, tapi ndak sedikit juga yang gak tau. Ku sendiri aja baru tau. Prestashop merupakan CMS yang dikhususkan untuk penjualan secara online. Strukturnya lebih ruwet dan membingungkan. Tapi setelah ku pelajari pelan-pelan, akhirnya ketauan juga strukturnya. Trus nyoba-nyoba bikin module sendiri.

Pertama, bikin folder di folder modules. Seumpama buat module allo. Bikin modules/allo. File-filenya : allo.php, allo.tpl, config.xml, en.php.

Allo.php

<?php

if (!defined('_CAN_LOAD_FILES_'))
exit;

define('BLOCKTAGS_MAX_LEVEL', 3);

class Allo extends Module
{
function __construct()
{
$this->name = 'allo';
$this->tab = 'front_office_features';
$this->version = 1.0;
$this->author = 'Namaku';

parent::__construct();

$this->displayName = $this->l('Allo');
$this->description = $this->l('Olla Allo.');
}


function hookLeftColumn($params)
{

return $this->display(__FILE__, 'allo.tpl');

}

}

Allo.tpl

<div id="allo_block_left" class="block allo_block">
<h4>{l s='Allo' mod='allo'}</h4>
<p class="block_content">

<a href="allo.php?task=one">{l s='one'}</a>
<br>
<a href="allo.php?task=two">two</a>
<br>
{l s='hai'}
</p>


</div>

Config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>allo</name>
<displayName>Allo</displayName>
<version>1</version>
<description>Olla Allo.</description>
<author>PrestaShop</author>
<tab>front_office_features</tab>
<is_configurable>0</is_configurable>
<need_instance>1</need_instance>
</module>

En.php
<?php

global $_MODULE;
$_MODULE = array();

selain file-file di atas, ternyata harus buat file lagi (ruwet yah?) untuk css-nya. Di folder themesyou/ css/allo. File allo.css

/* Allo */
div.allo_block .alo_content { padding: 3px 6px 0 }
div.allo_block p {
text-align: justify;
font-size: 0.9em
}
div.allo_block p a {
margin: 0 0.1em;
line-height: 1.5em
}
div.allo_block p a:hover {
color: white!important;
background-color: #5D717E;
text-decoration: none
}
a.allo_level3 { font-size: 1.8em; font-weight: bold }
a.allo_level2 { font-size: 1.4em }
a.allo_level1 { font-size: 1em; color: #888!important }

sekarang di refresh, apakah muncul? Ternyata masih belum. Kita kan belum aktifkan module tersebut secara backend terlebih dahulu. Masuk ke administratornya, tabs module, cari tuh module allo. Kalo ada kita klik enable. Kalo gak ada terpaksa pergi ke phpmyadmin, fungsinya munculin tuh module ke daftar module. Pilih table _module, cari ada apa ndak allo. Kalo gak ada, ya udah insert baru aja, dengan nama allo, field active isi dengan 1. setelah itu, pergi ke admin lagi enable-kan tuh module.

Pada frontend di refresh apa ada module allo. Kalo gak ada, pergi lagi ke halaman admin (sori, ruwet...). tab preference, klik perfomance, pada Smarty.... Force compile kita ganti yes. Baru kita coba di frontend, udah muncul? Kalo belum pada backend cachenya kita ganti no. di refresh lagi, udah muncul? Pasti udah…. Kalo udah muncul, ke admin lagi, kita ubah ke default semula force compile dan cache. Kemaren baru tau dari blog temen kita, fungsinya ngubah force compile untuk mengcompile ulang prestashop. Kalo force compilenya no, akan mengcompile dari smarty-nya. Kalo yes, akan decompile semuanya (dari file-file tpl yang baru dibuat). Makanya waktu ngerefresh lumayan berat.

2 komentar:

Anonymous said...

merci beaucoup pour cet exemple de module !!! ( attention il manque les ?> a la fin des deux fichiers php )

thanks a lot for this exemple of module ( be careful, you are missing this : ?> a the end of two PHP files )

muis arghiansyach gp said...

Oh ok...... thanks a lot of for your attention

Post a Comment

Thanks a lot for your attention...

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Hosting