diff options
Diffstat (limited to 'public/catalog/controller/common/menu.php')
-rw-r--r-- | public/catalog/controller/common/menu.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/public/catalog/controller/common/menu.php b/public/catalog/controller/common/menu.php new file mode 100644 index 0000000..de11f9e --- /dev/null +++ b/public/catalog/controller/common/menu.php @@ -0,0 +1,46 @@ +<?php +class ControllerCommonMenu extends Controller { + public function index() { + $this->load->language('common/menu'); + + // Menu + $this->load->model('catalog/category'); + + $this->load->model('catalog/product'); + + $data['categories'] = array(); + + $categories = $this->model_catalog_category->getCategories(0); + + foreach ($categories as $category) { + if ($category['top']) { + // Level 2 + $children_data = array(); + + $children = $this->model_catalog_category->getCategories($category['category_id']); + + foreach ($children as $child) { + $filter_data = array( + 'filter_category_id' => $child['category_id'], + 'filter_sub_category' => true + ); + + $children_data[] = array( + 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), + 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) + ); + } + + // Level 1 + $data['categories'][] = array( + 'name' => $category['name'], + 'children' => $children_data, + 'column' => $category['column'] ? $category['column'] : 1, + 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) + ); + } + } + + return $this->load->view('common/menu', $data); + } +} |