deezler

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

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

deezler    1

Привет. Хочу вывести все категории товара на странице этого товара. Не нашел полного решения под Opencart 2 ни в рунете, ни буржунете.

Проверил решение для Opencart 1.5. По описанию — именно то, что надо, но не работает на 2.2, к сожалению.

Получилось вывести название категорий без ссылок по инструкции. Но ссылку вывести никак не получается.

Еще получилось вывести название категории и ссылку по инструкции отсюда. Но таким методом, как я понял, можно вывести только на одну категорию, как в хлебных крошках.

Помогите, пожалуйста, сделать вывод ссылок на соответствующие категории.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Wadamir    66

 

Проверил решение для Opencart 1.5. По описанию — именно то, что надо, но не работает на 2.2, к сожалению.

 

 

Чуть измените решение для 1.5
 
 $this->load->model('catalog/category');


          $data['catprod'] = array();
          
          $product_category = $this->model_catalog_product->getCategories($product_id);
          
          foreach ($product_category as $prodcat) {
 $category_info = $this->model_catalog_category->getCategory($prodcat['category_id']);
 if ($category_info) {
 $data['catprod'][] = array(
 'name'     => $category_info['name'],
 'href'     => $this->url->link('product/category', 'path=' . $category_info['category_id'])
 );
 }
          } 

всё работает! http://ocshop.xdomus.ru/index.php?route=product/product&path=24&product_id=40

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
deezler    1

Спасибо огромное!

 

Шикарно получилось:

581da8fba355d7fd7d6f3a275a91704f.jpg

 

=====

 

Продублирую решение, чтобы оно не затерялось.

 

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

 

После строки

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

Вставить

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


        $data['catprod'] = array();
          
        $product_category = $this->model_catalog_product->getCategories($product_id);
          
        foreach ($product_category as $prodcat) {
		$category_info = $this->model_catalog_category->getCategory($prodcat['category_id']);
		if ($category_info) {
		$data['catprod'][] = array(
		'name'     => $category_info['name'],
		'href'     => $this->url->link('product/category', 'path=' . $category_info['category_id'])
		);
		}
} 

2. Затем в шаблоне, например, в catalog/view/theme/*/template/product/product.tpl

 

Перед

<?php if ($manufacturer) { ?>

Или другом месте вставить

<span>Categories: </span><?php foreach ($catprod as $catp) { ?> <a href="<?php echo $catp['href']; ?>"><?php echo $catp['name']; ?></a> |<?php } ?><br />
Изменено пользователем deezler

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Tom    2 013
<span>Categories: </span>

не кошерно))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
deezler    1
<span>Categories: </span>

не кошерно))))

 

 

Так в оригинале было :) Тут главное категории вывести.

 

Я оформил так:

<div class="catslist"><?php foreach ($catprod as $catp) { ?><span><a href="<?php echo $catp['href']; ?>"><?php echo $catp['name']; ?></a></span> <?php } ?></div>

А в CSS запятые:

.catslist span:after {
    content: ",";
}
.catslist span:last-child:after {
content: "";
}
Изменено пользователем deezler

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Wadamir    66
<span>Categories: </span>

не кошерно))))

 

Да, надо из языковых вытащить...

А лучше вообще убрать и так понятно о чём речь :) 

там еще палочка | не кошерная...

Изменено пользователем Wadamir

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
zlatoff    26

там еще палочка | не кошерная...

 

 

Наверное уместней вывести списком (через <ul>) или каждому выводимому разделу присвоить бутстраповский стиль "label" с подходящим цветом.

 

Недавно решал задачу как вывести категорию товара. Выгнал в "крошки" в итоге, полный путь. Но это одна категория (не считая родительских), а все категории даже интересней вывести, для внутренней перелинковки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
limn    0

Добрый вечер.

После вставки кодов вылетает ошибка на странице карточки товара (на месте где должно быть название категории):

Categories: Notice: Undefined variable: catprod in /home/users/l/limn/domains/777potolki99-os/catalog/view/theme/magazin/template/product/product.tpl on line 159Warning: Invalid argument supplied for foreach() in /home/users/l/limn/domains/777potolki99-os/catalog/view/theme/magazin/template/product/product.tpl on line 159

Помогите с решением этой проблемы. Версия ocStore 2.1.0.1

Судя по ошибке - не объявлена переменная. В файле catalog/controller/product/product.php  код добавил. Может код нужно как-то переделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
mosrodik    0

Приветствую!

Вы бы не могли подсказать, как вывести в карточку товара главную категорию этого самого товара? В данном примере, отображается подкатегория.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
oldejuk    0

то какое в итоге решения для opencart 2.3... ?

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От MShubin
      Здравствуйте!
      Нужно добавить кнопку в карточку товара с акцией(скидкой) при нажатии на которую будет появляться новая цена без изменения стандартной цены товара. Причем такая кнопка должна быть не на всех товарах, должен быть выбор, как опции... Пример (подобие) скину в ЛС. ocStore Версия 1.5.5.1.2
    • От ReManager

      Скачать/Купить дополнение


      Дополнительное описание категорий и товаров
      Дополнительное описание для товаров и категорий. Делал для себя. Не заменяет файлы. OCMOD. Мод для тех, кто ручками допиливает шаблон и разместит вывод доп.описаний в нужном месте шаблона. Добавляет дополнительные 2 поля в базу. Работает без ошибок ТОЛЬКО на ocStore 2.3.0.2.*. На остальных версиях требуются мелкие правки.
       
      Что мод делает:
      1. С помощью мода можно вывести дополнительное описание в категориях в файле catalog/view/theme/ВАША_ТЕМА/template/product/category.tpl добавить:
      - для вывода доп.описания продукта в необходимом месте блока формирования карточки продукта
      <?php if ($product['description_dop']) { ?><div class="dop-opisanie"><?php echo $product['description_dop']; ?></div><?php } ?> - для вывода доп.описания категории в необходимом месте
      <?php if ($description_dop) { ?><div class="dop-opisanie"><?php echo $description_dop; ?></div><?php } ?> 2. Для вывода доп.описания на странице товара в файле catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl добавить в нужном месте:
      <?php if ($description_dop) { ?><div class="dop-opisanie"><?php echo $description_dop; ?></div><?php } ?> 3. Для вывода доп.описания в модуле "Рекомендуемые" товара в файле catalog/view/theme/ВАША_ТЕМА/template/extension/module/featured.tpl добавить в нужном месте:
      <?php if ($product['description_dop']) { ?><div class="dop-opisanie"><?php echo $product['description_dop']; ?></div><?php } ?> 4. Для вывода доп.описания в модуле "Последние" товарах в файле catalog/view/theme/ВАША_ТЕМА/template/extension/module/latest.tpl добавить в нужном месте:
      <?php if ($product['description_dop']) { ?><div class="dop-opisanie"><?php echo $product['description_dop']; ?></div><?php } ?>  - <div class="dop-opisanie"> - это так, просто для понимания, что можно оформить своими стилями;
      - можно просто выводить только через строку кода с echo; без if.
       
      Как пользоваться с версии 1.2.1:
      .zip - для тех кто ставит в первые.
      .xml - для тех кто ставил уже предыдущие версии и хочет обновиться.
       
      v.1.2.0.0.1 - Доп.описание категории отсутствует на страницах пагинации(2-я, 3-я страница каталога), у формы Доп.описания товара нет редактора.
      v.1.2.0.1.1 - Доп.описание категории отсутствует на страницах пагинации(2-я, 3-я страница каталога), у формы Доп.описания товара есть редактор.
      v.1.2.1.0.1 - Доп.описание категории присутствует на страницах пагинации(2-я, 3-я страница каталога), у формы Доп.описания товара нет редактора.
      v.1.2.1.1.1 - Доп.описание категории присутствует на страницах пагинации(2-я, 3-я страница каталога), у формы Доп.описания товара есть редактор.
       
      В версиях, где редактор для Доп.описание товаров текст можно форматировать, т.е добавлять ссылки, картинки, стили и т.п(как полное описание). Кстати, где нет редактора в Доп.описании, то в шаблоне все html-тэги удаляются. Не стоит ограничения по длине доп.описания категории и товара!
       
      Проверял на чистом сайте. Возмоооожно, будут конфликты с какими-нибудь модами. Но это не сложно решить, наверно.
       
      Установка мода:
      1. Установить через "Установка дополнений".
      2. Обновить кэш в "Менеджер дополнений".
       
      Обновление мода:
      Скачивайте .xml нужной версии, удаляйте модификатор, обновляйте кэш, ставьте новый .xml и опять обновляйте кэш.
       
      ВНИМАНИЕ:
      1. Я не программист, поэтому 100% работу на ваших сайтах с различными шаблонами гарантировать не могу. Если авторы шаблонов протестят мой мод и, при несовместимости частичной, покажут где-что подправить, то я сделаю версии и под их шаблоны.
      2. Работает пока только с редактором Summer Note.
       
      Демо с доп. описание категории, товаров, модулями Последние и Рекомендуемые.
       
      Донатики на пиво/сок/сигареты и печеньки можно присылать тут
      Добавил ReManager Добавлено 26.12.2016 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop  
    • От ReManager
      Дополнительное описание для товаров и категорий. Делал для себя. Не заменяет файлы. OCMOD. Мод для тех, кто ручками допиливает шаблон и разместит вывод доп.описаний в нужном месте шаблона. Добавляет дополнительные 2 поля в базу. Работает без ошибок ТОЛЬКО на ocStore 2.3.0.2.*. На остальных версиях требуются мелкие правки.
       
      Что мод делает:
      1. С помощью мода можно вывести дополнительное описание в категориях в файле catalog/view/theme/ВАША_ТЕМА/template/product/category.tpl добавить:
      - для вывода доп.описания продукта в необходимом месте блока формирования карточки продукта
      <?php if ($product['description_dop']) { ?><div class="dop-opisanie"><?php echo $product['description_dop']; ?></div><?php } ?> - для вывода доп.описания категории в необходимом месте
      <?php if ($description_dop) { ?><div class="dop-opisanie"><?php echo $description_dop; ?></div><?php } ?> 2. Для вывода доп.описания на странице товара в файле catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl добавить в нужном месте:
      <?php if ($description_dop) { ?><div class="dop-opisanie"><?php echo $description_dop; ?></div><?php } ?> 3. Для вывода доп.описания в модуле "Рекомендуемые" товара в файле catalog/view/theme/ВАША_ТЕМА/template/extension/module/featured.tpl добавить в нужном месте:
      <?php if ($product['description_dop']) { ?><div class="dop-opisanie"><?php echo $product['description_dop']; ?></div><?php } ?> 4. Для вывода доп.описания в модуле "Последние" товарах в файле catalog/view/theme/ВАША_ТЕМА/template/extension/module/latest.tpl добавить в нужном месте:
      <?php if ($product['description_dop']) { ?><div class="dop-opisanie"><?php echo $product['description_dop']; ?></div><?php } ?>  - <div class="dop-opisanie"> - это так, просто для понимания, что можно оформить своими стилями;
      - можно просто выводить только через строку кода с echo; без if.
       
      Как пользоваться с версии 1.2.1:
      .zip - для тех кто ставит в первые.
      .xml - для тех кто ставил уже предыдущие версии и хочет обновиться.
       
      v.1.2.0.0.1 - Доп.описание категории отсутствует на страницах пагинации(2-я, 3-я страница каталога), у формы Доп.описания товара нет редактора.
      v.1.2.0.1.1 - Доп.описание категории отсутствует на страницах пагинации(2-я, 3-я страница каталога), у формы Доп.описания товара есть редактор.
      v.1.2.1.0.1 - Доп.описание категории присутствует на страницах пагинации(2-я, 3-я страница каталога), у формы Доп.описания товара нет редактора.
      v.1.2.1.1.1 - Доп.описание категории присутствует на страницах пагинации(2-я, 3-я страница каталога), у формы Доп.описания товара есть редактор.
       
      В версиях, где редактор для Доп.описание товаров текст можно форматировать, т.е добавлять ссылки, картинки, стили и т.п(как полное описание). Кстати, где нет редактора в Доп.описании, то в шаблоне все html-тэги удаляются. Не стоит ограничения по длине доп.описания категории и товара!
       
      Проверял на чистом сайте. Возмоооожно, будут конфликты с какими-нибудь модами. Но это не сложно решить, наверно.
       
      Установка мода:
      1. Установить через "Установка дополнений".
      2. Обновить кэш в "Менеджер дополнений".
       
      Обновление мода:
      Скачивайте .xml нужной версии, удаляйте модификатор, обновляйте кэш, ставьте новый .xml и опять обновляйте кэш.
       
      ВНИМАНИЕ:
      1. Я не программист, поэтому 100% работу на ваших сайтах с различными шаблонами гарантировать не могу. Если авторы шаблонов протестят мой мод и, при несовместимости частичной, покажут где-что подправить, то я сделаю версии и под их шаблоны.
      2. Работает пока только с редактором Summer Note.
       
      Демо с доп. описание категории, товаров, модулями Последние и Рекомендуемые.
       
      Донатики на пиво/сок/сигареты и печеньки можно присылать тут
    • От Darkmario
      В карточке товара, в выборе опций стало криво отображаться меню их выбора - часть текста закрыта. Изменение шрифта на более меньший проблему не решает
      Визуальный конструктор сайта BurnEngine тоже весь облазил, там изменение размеров окна так и не нашел. 
      Где (в каком файле) его можно изменить руками? Или есть другие варианты?
       

    • От AWARO

      Скачать/Купить дополнение


      h2 и h3 заголовки в карточке товара
      По просьбам трудящихся
      Данный модификатор добавляет заголовки h2 и h3 в карточку товара
      см фото
      или
      DEMO
      При желании можете сами по своему отредактировать документ и стили
      там в принципе ничего сложного
      Устанавливаем через - Установщик дополнений OCMOD
      (можно и в корень папки system залить - там ковырять проще)
      Не забываем обновлять модификаторы в Менеджере дополнений
      Ставьте лайки и подписывайтесь на канал!))
      Спасибо за спасибо!)
      Пользуйтесь на здоровье!
      Юзайте лицензионный софт нашего форума!
      Берегите свой сайт от венерологических заболеваний!
      Новые позиции вывода модулей
      --
       
      Добавил AWARO Добавлено 21.07.2016 Категория Модули Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу