Thêm position vào theme OpenCart 1.5.1.1
như joomla hay đơn giản chỉ cần nhiều vị trí (position) hơn so với mặc định chỉ có "content top", "content bottom", "column right", "column left". Bài viết này sẽ hướng dẫn và giải thích làm như thế nào để có nhiều position hơn.
Những gì bạn cần biết là:
- Tôi nên bắt đầu bằng cách nói rằng tôi không phải là một chuyên gia OpenCart. Như vậy,
tôi không chắc chắn điều này làm việc với các phiên bản opencart cũ hơn 1.5.1.1.
- Những thay đổi trong hướng dẫn này được thực hiện để thay đổi nội dung các tập
tin mà có thể bị ghi đè khi các bạn nâng cấp hoặc cập nhật lên phiên bản opencart
mới trong tương lai.
Bắt đầu thực hiện:
Đầu tiên các bạn tải về và cài đặt module miễn phí Hildebrando Youtube OpenCart v1.5.1.1.
Tôi đã chọn mod này chủ yếu là bởi vì nó đã được đánh giá cao và không liên quan quá nhiều
đến các chức năng trong back-end. Tôi giả sử các bạn có thể thay đổi bất kỳ thành phần nào
tương tự.
1. Thêm position trong admin (administration)
$_['text_content_middle'] = 'Content Middle';
- Thêm đoạn code sau:
<?php if ($module['position'] == 'content_middle') { ?> <option value="content_middle" selected="selected"><?php echo $text_content_middle; ?></option> <?php } else { ?> <option value="content_middle"><?php echo $text_content_middle; ?></option> <?php } ?>
vào dưới dòng:
<td class="left"><select name="s_youtube_module[<?php echo $module_row; ?>][position]">
- Thêm dòng:
html += ' <option value="content_middle"><?php echo $text_content_middle; ?></option>';
vào sau dòng:
html += ' <option value="content_bottom"><?php echo $text_content_bottom; ?></option>';
Thêm dòng:
$this->data['text_content_middle'] = $this->language->get('text_content_middle');
vào sau dòng:
$this->data['text_content_bottom'] = $this->language->get('text_content_bottom');
Bây giờ các bạn sẽ nhìn thấy vị trí mới trong phần cài đặt module của bạn. Ngoài ra các
bạn cần chắc chắn rằng layout của module được thiết lập là "Home".
2. Thêm position vào theme của bạn
Thêm dòng:
'common/content_middle',
vào sau dòng:
'common/content_bottom',
<?php class ControllerCommonHomeOne extends Controller { public function index() { $this->load->model('design/layout'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $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'] == 'home_one' && $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; } } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/home_one.tpl')) { $this->template = $this->config->get('config_template') . '/template/common/home_one.tpl'; } else { $this->template = 'default/template/common/home_one.tpl'; } $this->render(); } } ?>
<?php foreach ($modules as $module) { ?> <?php echo $module; ?> <?php } ?>
<?php echo $content_middle; ?>
|
Bài liên quan
- Một số thủ thuật nhỏ trong Opencart
- SEO cho opencart bằng .htaccess
- Hướng dẫn cài đặt và sử dụng opencart
- Hướng dẫn cài đặt và sử dụng Opencart 1.4.9
- Chỉnh sửa giao diện
- Sửa code để chèn các tiện ích vào open cart
- layout-module-opencart.avi
- Hướng dẫn đưa module Slideshow lên Header
- Hiển thị mô tả sản phẩm trong giỏ hàng
- Thêm hộp số lượng vào trang category
- Thêm pop-up điều kiện trước khi mua hàng
- Một vài ví dụ sử dụng vQmod trên Opencart
Comments[ 0 ]
Đăng nhận xét
-HAHEINEKEN.BLOGSPOT.COM
- viết một nhận xét nếu thấy bài nào có ích