[Решено] ID категории для продукта на странице поиска

Тема в разделе "OpenCart", создана пользователем Bnopen, 11 июл 2013.

Статус темы:
Закрыта.
  1. Bnopen

    Bnopen Команда форума

    Регистрация:
    3 мар 2013
    Сообщения:
    1.156
    Симпатии:
    514
    Ребята, всем привет!
    Подскажите, как вывести (определить) на странице поиска для каждого товара id категории.
    Нашел решения для вывода на странице продукта, вот типа такого:

    Но как мне вывести id для каждого товара на странице поиска?
    Дело в том, что в контроллере search.php уже есть какой-то код для определения категории. Я вот думаю - может ничего не надо лишнего думать, а для страницы поиска id категории определяется (там ведь есть по умолчанию фильтр по категориям). Заранее спасибо всем!!!!
     
  2. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    648
    Симпатии:
    327
    Скажи задачу, если просто вывести под товар, присвоеные ему категории, то одно, если же выводить меин категори - другое, распиши пожалуйста задачу, попробую расписать в деталях.
     
  3. Bnopen

    Bnopen Команда форума

    Регистрация:
    3 мар 2013
    Сообщения:
    1.156
    Симпатии:
    514
    Baco, просто вывести под товар, присвоеные ему категории.
     
  4. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    648
    Симпатии:
    327
    Названия, ИД, дискрипш ?
     
  5. Bnopen

    Bnopen Команда форума

    Регистрация:
    3 мар 2013
    Сообщения:
    1.156
    Симпатии:
    514
    Baco, просто id категории достаточно вывести под названием товара. Можно без массива - т.к. товар принадлежит только одной категории.
     
  6. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    648
    Симпатии:
    327
    В контроллере, перед
    Код:
    $this->data['products'][] = array(
    вставляешь:
    Код:
    $this->data['cat_id'] = $this->model_catalog_product->getCategories($result['product_id']);
    в ТПЛ файле:
    Код:
    <?php foreach ($cat_id as $cat) { ?>
      <?php echo $cat['category_id']; ?>
       <?php } ?>
     
    Bnopen нравится это.
  7. Bnopen

    Bnopen Команда форума

    Регистрация:
    3 мар 2013
    Сообщения:
    1.156
    Симпатии:
    514
    Baco, спасибо за помощь. Но я не могу понять почему получает вот такой баг:
    На странице результатов поиска выводится для всех товаров одинаковые category_id. То есть если в результатах есть товары с айди 40, 24, 35 - все на странице поиска отображаются с одним айди (например, 40) - хотя по ссылкам они ведут на абсолютно разные категории и айди категорий. И еще одно самое интересное - если в поиске несколько страниц, то при переходе на вторую страницу - опять же все товары отображаются с одинаковым айди, но теперь он может юыть другим нежели на первой странице поиска. Короче, это чудеса.
    С чем это связано?
    Может стоит еще что-то добавить в модель product.php?
     
  8. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    648
    Симпатии:
    327
    Ха, понял, поспешил, щас оттестирую и отправлю новый код...
     
  9. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    648
    Симпатии:
    327
    В том же контроллере, я сделал вот так:
    Код:
     $cat_id = $this->model_catalog_product->getCategories($result['product_id']);
     
    $this->data['products'][] = array(
    'product_id'  => $result['product_id'],
    'thumb'	   => $image,
    'name'		=> $result['name'],
    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
    'price'	   => $price,
    'special'	 => $special,
    'cat_id'		 => $cat_id,
    'tax'		 => $tax,
    'rating'	  => $result['rating'],
    'reviews'	 => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
    'href'		=> $this->url->link('product/product', 'product_id=' . $result['product_id'] . $url)
    );
    А уже в самом search.tpl в нужном месте вывел вот так:
    Код:
    <?php echo $product['cat_id'][0]['category_id']; ?>
     
    Bnopen нравится это.
  10. Bnopen

    Bnopen Команда форума

    Регистрация:
    3 мар 2013
    Сообщения:
    1.156
    Симпатии:
    514
    Подтверждаю, все работает как часики. Тему можно закрывать и ставить решенной.
     
Статус темы:
Закрыта.