ปรับแต่ง Opencart ตอน ผมอยากมีโมดูลที่เฮดเดอร์และฟุตเตอร์ ตอนที่2

หลังจากที่ดู Layout ตัวใหม่ที่ผมต้องการแล้ว ต่อไปเรามาดูในส่วนของโค้ดกันว่าจะแก้ไขตรงไหนบ้าง การแก้ไข ต้องทำการแก้ไข 2 ฝั่งน่ะครับ คือฝั่ง catalog และฝั่งแอดมิน เรามาแก้ฝั่ง catalog ก่อน

1.เปิดไฟล์ catalog/controller/common/header.php

หา
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {
$this->template = $this->config->get('config_template') . '/template/common/header.tpl';
} else {
$this->template = 'default/template/common/header.tpl';
}

แล้ววางโค้ดนี้ก่อนบรรทัดดังกล่าว

//mods
$this->load->model('design/layout');
$this->load->model('catalog/information');

if (isset($this->request->get['route'])) {
$route = $this->request->get['route'];
} else {
$route = 'common/home';
}

$layout_id = 0;

if (substr($route, 0, 16) == 'product/category' && isset($this->request->get['path'])) {
$path = explode('_', (string)$this->request->get['path']);

$layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path));
}

if (substr($route, 0, 15) == 'product/product' && isset($this->request->get['product_id'])) {
$layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
}

if (substr($route, 0, 23) == 'information/information' && isset($this->request->get['information_id'])) {
$layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']);
}

if (!$layout_id) {
$layout_id = $this->model_design_layout->getLayout($route);
}

if (!$layout_id) {
$layout_id = $this->config->get('config_layout_id');
}

$module_data = array();

$this->load->model('setting/extension');

$extensions = $this->model_setting_extension->getExtensions('module');

foreach ($extensions as $extension) {
$modules = $this->config->get($extension['code'] . '_module');

if ($modules) {
foreach ($modules as $module) {
if ($module['layout_id'] == $layout_id && $module['position'] == 'content_header' && $module['status']) {
$module_data[] = array(
'code'       => $extension['code'],
'setting'    => $module,
'sort_order' => $module['sort_order']
);
}
}
}
}

$sort_order = array();

foreach ($module_data as $key => $value) {
$sort_order[$key] = $value['sort_order'];
}

array_multisort($sort_order, SORT_ASC, $module_data);

$this->data['modules'] = array();

foreach ($module_data as $module) {
$module = $this->getChild('module/' . $module['code'], $module['setting']);

if ($module) {
$this->data['modules'][] = $module;
}
}
//

จากนั้นบันทึก และเปิดไฟล์นี้

catalog/view/theme/default/template/common/header.tpl

หา(บรรทัดล่างสุดเลย)

แล้ววางโค้ดนี้ไว้ด้านบน





บันทึก เสร็จในส่วนของ catalog แล้วครับ แล้วเราจะต่อใน admin กับตอนที่ 3 ตอนจบครับ

ปรับแต่ง Opencart ตอน ผมอยากมีโมดูลที่เฮดเดอร์และฟุตเตอร์

เรื่องของเรื่องก็มีอยู่ว่า ไม่ชอบ layout ของ Opencart ตอนนี้ซ่ะแล้ว

เคยมั๊ยครับที่เราอยากให้แบนเนอร์มันกว้างสุดขอบของเว็บ แต่เรายังชอบเว็บแบบ 3 คอลัมน์อยู่

ผมขออ้างอิงรูปแบบ layout เดิมของ Opencart ตอนนี้ ดังรูปครับ

layout opencart

layout opencart

หลังจากนั้นมาดูรูปแบบ Layout ที่ผมต้องการกัน (เพิ่มเติม…)

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *