Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v3.x.
#86950
Olá a todos !

É possível deixar o departamento principal com 3 níveis?
Ou seja submenu com mais um nível?

Exemplo:
Departamento principal --> Submenu1 --> Submenu2

Estou usando a versão 3.0.3.2
Avatar do usuário
Por reds
Mensagens Especiais
#86951
Ola @regiskawe

Isso é totalmente possível, veja abaixo
https://www.opencart.com/index.php?rout ... =3%20level

@quegaroto sua questão não foi esclarecedora,
Veja que no seu exemplo, cita-se uma imagem com dimensões de 1600x458px e na imagem 2 seria 24x24px, isso não é compressão de peso e redução de tamanho.

NO caso o problema da "não exibição" na web é porque a imagem não pode ser verificada e apresentou erros ou seja "danos a integridade".
Isso não é um problema do software Opencart,
#86955
Eu fiz da seguinte forma:
No caminho : catalog\controller\common\menu.php
Alterei tudo pelo código:
Código: Selecionar todos
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) {

                    // Level 3
                    $grandchildren_data = array();

                    $grandchildren = $this->model_catalog_category->getCategories($child['category_id']);

                    foreach ($grandchildren as $grandchild) {

                        $grandchild_filter_data = array(
                            'filter_category_id'  => $grandchild['category_id'],
                            'filter_sub_category' => true
                        );

                        $grandchildren_data[] = array(
                            'name'  => $grandchild['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($grandchild_filter_data) . ')' : ''),
                            'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $grandchild['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' => $grandchildren_data,
                    );
                }

                // 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);
    }
}
E no caminho: catalog\view\theme\default\template\common\menu.twig
Também alterei tudo para:
Código: Selecionar todos
{% 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>
                        {% if child.children %}
                            <ul>
                                {% for children in child.children %}
                                    <li><a href="{{ children.href }}">{{ children.name }}</a></li>
                                {% endfor %}
                            </ul>
                        {% endif %}
                    </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 %} 

Deu certo mas ao abrir o menu principal, também abre todos os submenus nível 2 e nível 3 de uma só vez como mostra a imagem abaixo... teria alguma forma quando clicasse em cada submenu nível 2 fosse abrindo os submenus nível 3 um a um?

http://www.falconweb.com.br/menu.jpg

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]