Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Кнопка "Посмотреть все товары этой категории"


 Поделиться

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

Добрый день.

Назрел такой вопрос:

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

Отсюда вопрос, как сделать отдельную кнопку: Посмотреть все товары "название категории".

Которую можно было бы разместить между описанием и блоком информации о товаре.

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

Знает ли кто-нибудь готовое решение или все-таки придется искать программиста?

Спасибо.

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


Готового решения не знаю, но все решаемо.

Могу дать направление, если не разберетесь, то вариант "искать программиста".

На странице продукта (в Вашем случае карточка товара), в контролере поискать есть ли данные по категории ($GET['path']).

Если есть, создать ссылку на нее и в темплейте вывести кнопку с этой ссылкой.

Если данных по категории нет, то можно вытянуть с данных товара (запрос в базу).

Изменено пользователем tim21701
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


Вообщем есть такое решение

в файле catalog->controller->product->product.php ищите в начале файла такие строки

$category_info = $this->model_catalog_category->getCategory($path_id);

   if ($category_info) {
 $this->data['breadcrumbs'][] = array(
  'text'	  => $category_info['name'],
  'href'	  => $this->url->link('product/category', 'path=' . $path),
  'cat'	  => $this->url->link('product/category', 'path=' . $path),
  'separator' => $this->language->get('text_separator')

 );

сразу после этих строк вставляете следующий код

$this->data['cats'][] = array(

  'cat'	  => $this->url->link('product/category', 'path=' . $path),


 );

и сохраняете файл.

Потом идем в папку catalog->view->theme->ваша_тема->template->product->product.tpl и в нужном месте где надо вывести ссылку на категорию к которой относится данный товар вставляете код

<?php foreach ($cats as $cat) { ?>
 <a href="<?php echo $cat['cat']; ?>">Все товары раздела</a>
 <?php } ?>

текст ссылки, соответственно меняете на свой.

вроде все!!! И главное перед внесением изменений делайте бэкап файлам!!!

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


  • 9 месяцев спустя...

А как сделать не просто ссылкой, а красивой кнопкой?! Будет тогда просто СУПЕР!

 

Добавьте класс кнопки со стандартного стиля, вот так.

<a href="<?php echo $cat['cat']; ?>" class="button">Все товары раздела</a>
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


Спасибо. Разобрался! Всё получилось.

Выявил одну проблемку: при импорте нового товара в категорию 3-го уровня, в товаре появляются 3 визуально ОДИНАКОВЫХ кнопки, но каждая из них ведёт на родительские категории: соответственно 3-го (родительская), 2-го и 1-го уровня!

Подскажите, как это убрать! Надо чтобы была одна кнопка, ведущая в родительскую категорию.

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


Кто-то поможет понять в чём проблема? Никак не могу разрулить... :(

Если у Вас вот этот код выводит несколько кнопок,

<?php foreach ($cats as $cat) { ?>
  <a href="<?php echo $cat['cat']; ?>">Все товары раздела</a>
  <?php } ?>

то перепишите на такой:

  <a href="<?php echo array_pop($cats)['cat']; ?>">Все товары раздела</a>

Это если родительская категория идет последняя в списке.

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


Если у Вас вот этот код выводит несколько кнопок,

<?php foreach ($cats as $cat) { ?>
  <a href="<?php echo $cat['cat']; ?>">Все товары раздела</a>
  <?php } ?>

то перепишите на такой:

  <a href="<?php echo array_pop($cats)['cat']; ?>">Все товары раздела</a>

Это если родительская категория идет последняя в списке.

Спасибо. Но что-то не получается - ВКмод ругается на этот код. Не могу понять почему...

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


Вот такую ошибку выдаёт и ссылается именно на эту строку: Parse error: syntax error, unexpected '[', expecting ',' or ';' in

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


Вот такую ошибку выдаёт и ссылается именно на эту строку: Parse error: syntax error, unexpected '[', expecting ',' or ';' in

Тогда еще так попробуйте:

<?php if(!empty($cats)) { ?>
  <a href="<?php echo array_pop($cats)['cat]; ?>">Все товары раздела</a>
  <?php } ?>
Ссылка на комментарий
Поделиться на других сайтах


 

Тогда еще так попробуйте:

<?php if(!empty($cats)) { ?>
  <a href="<?php echo array_pop($cats)['cat']; ?>">Все товары раздела</a>
  <?php } ?>

Не знаю почему, но та же ошибка вылазит... :(

Parse error: syntax error, unexpected '[', expecting ',' or ';' in

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


Еще так попробуйте:

<?php if(!empty($cats)) { ?>
  <a href="<?php echo end($cats)['cat']; ?>">Все товары раздела</a>
  <?php } ?>

или так

<?php if(!empty($cats)) { ?>
  <a href="<?php echo (end($cats)['cat']); ?>">Все товары раздела</a>
  <?php } ?>
Ссылка на комментарий
Поделиться на других сайтах


Придется разбить на два шага:

<?php if(!empty($cats)) { ?>
  <a href="<?php $end = end($cats); echo $end['cat']; ?>">Все товары раздела</a>
  <?php } ?>
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


 

Еще так попробуйте:

<?php if(!empty($cats)) { ?>
  <a href="<?php echo end($cats)['cat']; ?>">Все товары раздела</a>
  <?php } ?>

или так

<?php if(!empty($cats)) { ?>
  <a href="<?php echo (end($cats)['cat']); ?>">Все товары раздела</a>
  <?php } ?>

:|  никак - ошибка та же... Почистил ВКмод уже, кэш - тишина... :(

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


 

Придется разбить на два шага:

<?php if(!empty($cats)) { ?>
  <a href="<?php $end = end($cats); echo $end['cat']; ?>">Все товары раздела</a>
  <?php } ?>

СУПЕР!!!!!!!!!  :eek:  :eek:  :eek:

СПАСИБО ОГРОМНОЕ! Держи +++!!!

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


  • 2 года спустя...

При таком коде ссылка генерируется на главную категорию. А как сделать ссылку на дочернюю?

 

Категория 1 -> Категория 2 -> Товар

 

То есть, чтобы ссылка вела на категорию 2, а не на категорию 1?

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


  • 5 лет спустя...
13.10.2022 в 11:59, Magazinufedora сказал:

Здравствуйте. Подскажите пожалуйста а как сделать ссылку на все товары которые есть на сайте?

И сколько у вас товаров?

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

Есть варианты
например
создать контроллер - все товары
модуль прайслист
 

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

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

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

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

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

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

Войти

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

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

×
×
  • Создать...

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

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