Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

меню 3 уровня


Recommended Posts

Добрый день, имеется опенкарт Version 3.0.2.0.

Пытаюсь вывести 3 уровень в каталоге. но чёт не выходит

В контроле в меню имеется 

<?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) {
                    $children_data2 = array(); 
                    $children2 = $this->model_catalog_category->getCategories($child['category_id']); 
             
                    foreach ($children2 as $child2) {
                        $children_data2[] = array(
                        'name'  => $child2['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                        'href'  => $this->url->link('product/category', 'path=' . $child['category_id'] . '_' . $child2['category_id']),
                        );
                    }
                 
                    $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']),
                        'children' => $children_data2,
                    );
                }

				// 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);
	}
}

А в шаблоне меню

{% if categories %}
<div class="container">
  <nav id="menu" class="navbar">
    <div class="navbar-header"><span id="category" class="visible-xs">{{ text_category }}</span>
      <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button>
    </div>
    <div class="collapse navbar-collapse navbar-ex1-collapse">
      <ul class="nav navbar-nav">
        {% for category in categories %}
        {% if category.children %}
        <li class="dropdown"><a href="{{ category.href }}" class="dropdown-toggle" data-toggle="dropdown">{{ category.name }}</a>
          <div class="dropdown-menu">
            <div class="dropdown-inner"> {% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %}
              <ul class="list-unstyled">
                {% for child in children %}
                <li><a href="{{ child.href }}">{{ child.name }}</a>
                  {% for child in child.children|batch(category.children|length / category.column|round(1, 'ceil')) %}
                         <div class="child">
			<ul class="list-unstyled">
                      {% for child2 in category.children_date|batch(category.child2|length / category.column|round(1, 'ceil')) %}
                            <li><a href="{{ child2.href }}">{{ child2.name }}</a></li>
                        {% endfor %}
                        </ul></div>
                    {% endfor %}
                </li>
                {% endfor %}
              </ul>
              {% endfor %}</div>
            <a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a> </div>
        </li>
        {% else %}
        <li><a href="{{ category.href }}">{{ category.name }}</a></li>
        {% endif %}
        {% endfor %}
      </ul>
    </div>
  </nav>
</div>
{% endif %} 

Ошибка:

Warning: array_chunk() expects parameter 1 to be array, null given in /home/user1094101/www/ps4games.by/system/library/template/Twig/Extension/Core.phpon line 1535

На скрине вот так.

Поставьте меня на путь пожалуйста

Безымянный.png

Надіслати
Поділитися на інших сайтах


  • 4 months later...

Если кому-нибудь пригодится, то мне с аналогичным вопросом помог этот модуль:

https://www.opencart.com/index.php?route=marketplace/extension/info&member_token=LJIgKK28Wfurniaurq9zpDuuuLgoesLa&extension_id=33795&filter_download_id=49

 

Надіслати
Поділитися на інших сайтах


  • 1 year later...
On 4/25/2018 at 5:17 PM, dimaxp said:

Если кому-нибудь пригодится, то мне с аналогичным вопросом помог этот модуль:

https://www.opencart.com/index.php?route=marketplace/extension/info&member_token=LJIgKK28Wfurniaurq9zpDuuuLgoesLa&extension_id=33795&filter_download_id=49

 

Подскажите, а где его настройки, он ставится через установку расширений, но потом нигде не отображается, и меню 3-х уровневым не стало.

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 1 year later...
В 04.12.2019 в 21:41, Radamant сказал:

Подскажите, а где его настройки, он ставится через установку расширений, но потом нигде не отображается, и меню 3-х уровневым не стало.

Выполните данное действие для вашей темы (menu.twig) catalog/view/theme/*/template/common/menu.twig так дополнение работает после установки на дефолтном шаблоне /default/template/common/menu.twig а надо ваш путь с темой

<file path="catalog/view/theme/default/template/common/menu.twig">
        <operation>
            <search><![CDATA[<li><a href="{{ child.href }}">{{ child.name }}</a></li>]]></search>
            <add position="replace"><![CDATA[
                    {% if child.gchildren %}
                        <li><a href="{{ child.href }}">{{ child.name }}</a>
                            <ul>
                                {% for gchild in child.gchildren %}
                                    <li><a class="gchild" href="{{ gchild.href }}">{{ gchild.name }}</a></li>
                                {% endfor %}
                            </ul>
                        </li>
                    {% else %}
                        <li><a href="{{ child.href }}">{{ child.name }}</a></li>
                    {% endif %}
            ]]></add>

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.