dayto
-
Публікації
1 -
З нами
-
Відвідування
На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.
[РЕШЕНО] Вывод модулей в Header/Footer
в Шаблони, дизайн та оформлення магазину
Опубліковано: · Змінено користувачем dayto
Для opencart 2.3.0.2.3 вариант предложенный
Yurasik
admin/language/russian/desing/layout.php
Перед:
$_['text_content_top'] = 'Вверху страницы';
Добавляем:
$_['text_header_content'] = 'Шапка сайта';
admin/controller/design/layout.php
Перед:
$data['text_content_top'] = $this->language->get('text_content_top');
Добавляем:
$data['text_header_content'] = $this->language->get('text_header_content');
admin/view/template/design/layout_form.tpl
Перед:
<table id="module-content-top" class="table table-striped table-bordered table-hover">
Добавляем:
В двух местах Перед:
#module-content-top,
Добавляем:
#module-header_content,
catalog/controller/common/header.php
Перед:
$data['language'] = $this->load->controller('common/language');
Добавляем:
$data['header_content'] = $this->load->controller('common/header_content');
catalog/controller/common/header_content.php
Создаем и добавляем:
<?php
class ControllerCommonHeaderContent extends Controller {
public function index() {
$this->load->model('design/layout');
if (isset($this->request->get['route'])) {
$route = (string)$this->request->get['route'];
} else {
$route = 'common/home';
}
$layout_id = 0;
if ($route == 'product/manufacturer/info' && isset($this->request->get['manufacturer_id'])) {
$this->load->model('catalog/manufacturer');
$layout_id = $this->model_catalog_manufacturer->getManufacturerLayoutId($this->request->get['manufacturer_id']);
}
if ($route == 'product/category' && isset($this->request->get['path'])) {
$this->load->model('catalog/category');
$path = explode('_', (string)$this->request->get['path']);
$layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path));
}
if ($route == 'product/product' && isset($this->request->get['product_id'])) {
$this->load->model('catalog/product');
$layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
}
if ($route == 'information/information' && isset($this->request->get['information_id'])) {
$this->load->model('catalog/information');
$layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']);
}
if ($route == 'blog/category' && isset($this->request->get['blog_category_id'])) {
$this->load->model('blog/category');
$layout_id = $this->model_blog_category->getCategoryLayoutId($this->request->get['blog_category_id']);
}
if ($route == 'blog/article' && isset($this->request->get['article_id'])) {
$this->load->model('blog/article');
$layout_id = $this->model_blog_article->getArticleLayoutId($this->request->get['article_id']);
}
if (!$layout_id) {
$layout_id = $this->model_design_layout->getLayout($route);
}
if (!$layout_id) {
$layout_id = $this->config->get('config_layout_id');
}
$this->load->model('extension/module');
$data['modules'] = array();
$modules = $this->model_design_layout->getLayoutModules($layout_id, 'header_content');
foreach ($modules as $module) {
$part = explode('.', $module['code']);
if (isset($part[0]) && $this->config->get($part[0] . '_status')) {
$module_data = $this->load->controller('extension/module/' . $part[0]);
if ($module_data) {
$data['modules'][] = $module_data;
}
}
if (isset($part[1])) {
$setting_info = $this->model_extension_module->getModule($part[1]);
if ($setting_info && $setting_info['status']) {
$output = $this->load->controller('extension/module/' . $part[0], $setting_info);
if ($output) {
$data['modules'][] = $output;
}
}
}
}
return $this->load->view('common/header_content', $data);
}
}
catalog/view/theme/*theme_name*/template/common/header_content.tpl
Создаем и добавляем:
<?php foreach ($modules as $module) { ?>
<?php echo $module; ?>
<?php } ?>
catalog/view/theme/*theme_name*/template/common/header.tpl
Добавляем в необходимом месте:
<?php echo $header_content; ?>