Sebagai Administrator toko online kita tahu prestashop punya banyak sekali fitur untuk dioptimalkan pemakaiannya. Sebagai web designer kita bingung ada begitu banyak module yang ditawarkan. Kali ini kita bicara sebagai web designer.
Prestashop seperti juga pada semua script PHP akan memuat website dengan menggunakan sebuah index.php. Misalnya, toko online client saya www.bajuditoko.com atau www.lovingprize.com menggunakan theme Prestashop. Artinya semua file .php, .tpl, .css dan semua folder dalam CMS Prestashop akan ditempatkan pada lovingprize.com.
Maka ketika pengunjung memasukkan URL http://www.lovingprize.com pada address bar, web server pun akan memuat halaman indeks tersebut. halaman indeks ini merupakan informasi yang menentukan apa yang terjadi. Untuk memahami apa yang terjadi ketika Anda memuat toko prestashop Anda, kita perlu memahami apa itu file indeks.
INDEX.PHP Halaman file index,php (v1.1.0.5) pada Prestashop secara garis besar meliputi kode berikut ini:
<?php
include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/header.php');
$smarty->assign('HOOK_HOME', Module::hookExec('home'));
$smarty->display(_PS_THEME_DIR_.'index.tpl');
include(dirname(__FILE__).'/footer.php');
?>
Penjelasannya:
Pertama, index.php termasuk di dalamnya file config.inc.php yang terletak di direktori config.
File config.inc.php ini melakukan konfigurasi dan pengaturan setting lainnya.
File config.inc.php akan memeriksa apakah semuanya sudah terpasang (ter-install) dan mendefinisikan template dasar (base theme), default direktori dan alurnya (paths), status order dan pengaturan lainnya.
Saya tidak akan menyibukkan diri dengan penjelasan rinci. Sebagai Web Desainer, kita perlu melacak jejak error dari waktu ke waktu sehingga ada satu hal yang saya ingin membuat kita sadari bersama. Jika Anda membuka /config /config.inc.php pada baris paling atas file Anda akan melihat ini
@ini_set('display_errors', 'off');
Jika Anda ubah menjadi :
@ini_set('display_errors', 'on');Berarti telah mengaktifkan “Error Reporting” – tetapi harus diingat, Anda segera mengembalikannya ke status off setelah dengan itu Anda berhasil melacak error yang terjadi. Saya tegaskan, kembalikan ke status default “off” ketika live installation. Karena kalau Anda lupa akan muncul pesan ini:
Kedua, config ini dimuat (loaded), maka file index.php diperintahkan untuk menyertakan file header.php dari instalasi root (root install). Yang dimaksud dengan root install berarti langsung dari situs Prestashop kita, bukan dari sesuatu yang terdapat dalam setiap sub-direktori.
File header.php secara garis besar meliputi kode-kode berikut ini:
<?php
// P3P Policies (http://www.w3.org/TR/2002/REC-P3P-20020416/#compact_policies)
header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');
require_once(dirname(__FILE__).'/init.php');
/* CSS */
$css_files[_THEME_CSS_DIR_.'global.css'] = 'all';
/* Hooks are voluntary out the initialize array (need those variables already assigned) */
$smarty->assign(array(
'HOOK_HEADER' => Module::hookExec('header'),
'HOOK_LEFT_COLUMN' => Module::hookExec('leftColumn'),
'HOOK_TOP' => Module::hookExec('top'),
'static_token' => Tools::getToken(false),
'token' => Tools::getToken(),
'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
'content_only' => intval(Tools::getValue('content_only'))
));
if(isset($css_files) AND !empty($css_files)) $smarty->assign('css_files', $css_files);
if(isset($js_files) AND !empty($js_files)) $smarty->assign('js_files', $js_files);
/* Display a maintenance page if shop is closed */
if (isset($maintenance) AND (!isset($_SERVER['REMOTE_ADDR']) OR $_SERVER['REMOTE_ADDR'] != Configuration::get('PS_MAINTENANCE_IP')))
{
header('HTTP/1.1 503 temporarily overloaded');
$smarty->display(_PS_THEME_DIR_.'maintenance.tpl');
exit;
}
$smarty->display(_PS_THEME_DIR_.'header.tpl');
?>
Disini saya juga tidak akan terlalu jauh membicarakan kode-kode pada file header.php diatas.
Ketiga, kita temukan ini :
$smarty->assign('HOOK_HOME', Module::hookExec('home'));Dengan baris kode ini untuk menentukan Hook (pada dasarnya Hook memungkinkan administrator situs untuk menentukan di mana mereka ingin modul tertentu ditampilkan pada toko PrestaShop).
Keempat, selanjutnya kita temukan ini:
$smarty->display(_PS_THEME_DIR_.'index.tpl');Baris kode ini mengatakan tentang display file index.tpl dalam posisi ini dari direktori default theme Anda. (Anda menentukan theme tersebut untuk digunakan di Back Office >>Preferances >> appearance).
Kelima, kita temukan footer.php
include(dirname(__FILE__).'/footer.php');Baris kode ini mengatakan php ini mencakupi file footer.php dari direktori kita (dirname).
File footer.php secara garis besar memiliki kode-kode berikut ini:
<?php
if (isset($smarty))
{
$smarty->assign(array(
'HOOK_RIGHT_COLUMN' => Module::hookExec('rightColumn'),
'HOOK_FOOTER' => Module::hookExec('footer'),
'content_only' => intval(Tools::getValue('content_only'))));
$smarty->display(_PS_THEME_DIR_.'footer.tpl');
}
?>
Setiap file-nya mengandung permintaan PHP untuk memasukkan file lain. Tapi kita hanya peduli dengan prinsip apa yang sedang terjadi untuk memberi pemahaman bagaimana PrestaShop bekerja.
Meskipun kita punya pengaturan konfigurasi Prestashop, namun Hooks dan berbagai file php belum memiliki HTML apapun. Di sinilah template kita (tpl) masuk. File tpl adalah file template yang mencakup HTML dan kode Smarty. File-file tpl sebagian besar berada di direktori theme, tetapi juga ada di modul karena setiap seseorang menulis modul perlu file template sendiri (tpl) juga.
$css_files[_THEME_CSS_DIR_.'global.css'] = 'all';
if(isset($css_files) AND !empty($css_files)) $smarty->assign('css_files', $css_files);
if(isset($js_files) AND !empty($js_files)) $smarty->assign('js_files', $js_files);
$smarty->display(_PS_THEME_DIR_.'maintenance.tpl'); - Will display a maintenance page called maintenance.tpl if your shop is closed */
$smarty->display(_PS_THEME_DIR_.'header.tpl');
Jadi file global.css kita sedang dipanggil dari direktori theme Prestashop untuk ini diperlukan file CSS lain dan juga file JavaScript yang sudah terkandung didalamnya. Tampilan HTML sebenarnya (yang merupakan bagian dari tata letak halaman web) berasal dari file header.tpl
Index.php memanggil index.tpl dan file footer.php dan juga memanggil (atau meminta) footer.tpl. Sekali lagi file-file tpl menentukan layout situs html kita dan ada dalam folder theme.
Bersambung ke >>>> BAGIAN 2






0 comments:
Post a Comment