Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

OpenCart 2.3: Вывод названия главной категорий с ссылкой в карточке товара


SmarttSC
 Поделиться

Рекомендованные сообщения

Возможно, кому то пригодится. Сделал вывод главной категории на странице товара OpenCart 2.3.
 

- В файле catalog/controller/product/product.php

 

После строки

$this->load->model('catalog/product');

Вставил

//вывод главной категории на странице товара//
        $this->load->model('catalog/category');
        $data['catproduct'] = array();

        if (isset($this->request->get['path'])) {
            $path = '';

            $parts = explode('_', (string)$this->request->get['path']);

            $category_id = (int)array_pop($parts);

            foreach ($parts as $path_id) {
                if (!$path) {
                    $path = $path_id;
                } else {
                    $path .= '_' . $path_id;
                }
                $category_info = $this->model_catalog_category->getCategory($path_id);

                if ($category_info) {
                    $data['catproduct'][] = array(
                        'text' => $category_info['name'],
                        'href' => $this->url->link('product/category', 'path=' . $path)
                    );
                }
            }
            $category_info = $this->model_catalog_category->getCategory($category_id);

            if ($category_info) {
                $url = '';

                if (isset($this->request->get['sort'])) {
                    $url .= '&sort=' . $this->request->get['sort'];
                }
                if (isset($this->request->get['order'])) {
                    $url .= '&order=' . $this->request->get['order'];
                }
                if (isset($this->request->get['page'])) {
                    $url .= '&page=' . $this->request->get['page'];
                }
                if (isset($this->request->get['limit'])) {
                    $url .= '&limit=' . $this->request->get['limit'];
                }
                $data['catproduct'][] = array(
                    'text' => $category_info['name'],
                    'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url)
                );
            }
        }

 - в файле catalog/view/theme/*/template/product/product.tpl в нужном месте

<span class="desc_title">Категория: </span><?php foreach ($catproduct as $catp) { ?> <a href="<?php echo $catp['href']; ?>"><?php echo $catp['text']; ?></a><?php } ?>

Решение для главной категории взял по аналогии с вывода
 breadcrumbs.

Может не совсем верно, но заработало правильно.

 

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.