1: | <?php
2: | namespace Opencart\Catalog\Controller\Common;
3: | /**
4: | * Class Menu
5: | *
6: | * @package Opencart\Catalog\Controller\Common
7: | */
8: | class Menu extends \Opencart\System\Engine\Controller {
9: | /**
10: | * @return string
11: | */
12: | public function index(): string {
13: | $this->load->language('common/menu');
14: |
15: | // Menu
16: | $this->load->model('catalog/category');
17: |
18: | $this->load->model('catalog/product');
19: |
20: | $data['categories'] = [];
21: |
22: | $categories = $this->model_catalog_category->getCategories(0);
23: |
24: | foreach ($categories as $category) {
25: | // Level 2
26: | $children_data = [];
27: |
28: | $children = $this->model_catalog_category->getCategories($category['category_id']);
29: |
30: | foreach ($children as $child) {
31: | $filter_data = [
32: | 'filter_category_id' => $child['category_id'],
33: | 'filter_sub_category' => true
34: | ];
35: |
36: | $children_data[] = [
37: | 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
38: | 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $category['category_id'] . '_' . $child['category_id'])
39: | ];
40: | }
41: |
42: | // Level 1
43: | $data['categories'][] = [
44: | 'name' => $category['name'],
45: | 'children' => $children_data,
46: | 'column' => $category['column'] ? $category['column'] : 1,
47: | 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $category['category_id'])
48: | ];
49: | }
50: |
51: | return $this->load->view('common/menu', $data);
52: | }
53: | }
54: |

OpenCart API API documentation generated by ApiGen dev-master