Ekdant-Online-Store/catalog/controller/common/content_top.php
2024-08-06 18:06:00 +05:45

96 lines
2.6 KiB
PHP

<?php
namespace Opencart\Catalog\Controller\Common;
/**
* Class Content Top
*
* @package Opencart\Catalog\Controller\Common
*/
class ContentTop extends \Opencart\System\Engine\Controller {
/**
* @return string
*/
public function index(): string {
$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/category' && isset($this->request->get['path'])) {
$this->load->model('catalog/category');
$path = explode('_', (string)$this->request->get['path']);
$layout_id = $this->model_catalog_category->getLayoutId((int)end($path));
}
if ($route == 'product/product' && isset($this->request->get['product_id'])) {
$this->load->model('catalog/product');
$layout_id = $this->model_catalog_product->getLayoutId((int)$this->request->get['product_id']);
}
if ($route == 'product/manufacturer.info' && isset($this->request->get['manufacturer_id'])) {
$this->load->model('catalog/manufacturer');
$layout_id = $this->model_catalog_manufacturer->getLayoutId((int)$this->request->get['manufacturer_id']);
}
if ($route == 'information/information' && isset($this->request->get['information_id'])) {
$this->load->model('catalog/information');
$layout_id = $this->model_catalog_information->getLayoutId((int)$this->request->get['information_id']);
}
if ($route == 'cms/blog.info' && isset($this->request->get['blog_id'])) {
$this->load->model('cms/blog');
$layout_id = $this->model_cms_blog->getLayoutId((int)$this->request->get['blog_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('setting/module');
$data['modules'] = [];
$modules = $this->model_design_layout->getModules($layout_id, 'content_top');
foreach ($modules as $module) {
$part = explode('.', $module['code']);
if (isset($part[1]) && $this->config->get('module_' . $part[1] . '_status')) {
$module_data = $this->load->controller('extension/' . $part[0] . '/module/' . $part[1]);
if ($module_data) {
$data['modules'][] = $module_data;
}
}
if (isset($part[2])) {
$setting_info = $this->model_setting_module->getModule($part[2]);
if ($setting_info && $setting_info['status']) {
$output = $this->load->controller('extension/' . $part[0] . '/module/' . $part[1], $setting_info);
if ($output) {
$data['modules'][] = $output;
}
}
}
}
return $this->load->view('common/content_top', $data);
}
}