Перейти к содержанию
reeditor

[Решено] Как вывести название категории каждого товара в модуле "Последние"?

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

Здравствуйте. Перерыл весь интеренет в поисках решения, но так и не нашел ничего конкретного. Необходимо вывести название категории под каждым товаром в модуле "Последние", "Акции" и.т.д.

И если в модуле "Рекомендуемые" название выводится этим способом:

В /catalog/controller/module/featured.php Где то в 100 строке добавить

 

$categories = $this->model_catalog_product->getCategories($product_id);
if ($categories)
   $categories_info = $this->model_catalog_category->getCategory($categories[0]['category_id']);
$this->data['category_title'] = $categories_info['name'];
 


В featured.tpl добавить в нужное место

 

<?php echo $category_title; ?>
 

 

то в остальных модулях ничего не работает и ссылается на неизвестные переменные product_id, categories_info и.т.д.

 

Подскажите, что нужно добавить в контроллере каждого модуля, чтобы можно было вывести название категории под каждым товаром в вышеперечисленных модулях?

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


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

Просто в этих модулях id продукта в других переменных обитает

Например, $result['product_id'] вместо $product_id

Этого хватит

  • +1 1

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


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

А как определить УРЛ категории?

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


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

А как определить УРЛ категории?

Сгенерировать по её ID, очевидно же

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


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

А кто может ПОДСКАЗАТЬ как вивести категорию у Opencart 2.0.2.0

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


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

Методом дидукции и магического ТИКА, сделал

 

 

/catalog/controller/module/featured.php

после 

			foreach ($products as $product_id) {
				$product_info = $this->model_catalog_product->getProduct($product_id);

вставив

$categories = $this->model_catalog_product->getCategories($product_id);
if ($categories)
  $categories_info = $this->model_catalog_category->getCategory($categories[0]['category_id']);
$data['category_title'] = $categories_info['name'];
$data['category_href'] = $this->url->link('product/category', 'path=' . $categories_info['category_id']);

 

и там где нужно в .tpl

<a href="<?php echo $category_href; ?>"><?php echo $category_title; ?></a>
Изменено пользователем Andrii1990

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


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

Модуль "Рекомендуемые" к сожалению заметно отличается от остальных модулей вывода. Поэтому хак работающий для рекомендуемых, не работает например в модуле акций. Нужно добавлять еще недостающую модель.

 

Выкладываю полноценно работающий вывод названия категории в модулях "Последние", "Акции", "Хиты продаж" и т.д. в ocStore 1.5.5.1.2

 

В файле (для модуля акций)

/catalog/controller/module/special.php

Добавляем после строчки

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

код

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

Далее после строчки

foreach ($results as $result) {

добавляем

$categories = $this->model_catalog_product->getCategories($result['product_id']);
$categories_info = $this->model_catalog_category->getCategory($categories[0]['category_id']);

и последнее, после строчки

'product_id' => $result['product_id'],

вставляем

'product_cat'=> $categories_info['name'],

Наша переменная готова. Теперь осталось ее вставить в нужное место в модуле /catalog/view/theme/шаблон/template/module/special.tpl

<?php echo $product['product_cat']; ?>

 

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


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

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

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

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

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

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

Войти

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

Войти

  • Последние посетители   0 пользователей онлайн

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

×

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

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