A
A
Andrey Andreev2015-10-13 17:50:26
opencart
Andrey Andreev, 2015-10-13 17:50:26

Opencart how to display products in the category menu on the left, do not offer modules, searched everything, there is no such thing?

examplee8ee73bf72f448cb8756c88747a8de80.png

Answer the question

In order to leave comments, you need to log in

1 answer(s)
P
Philipp, 2015-10-13
@zoonman

catalog/view/theme/default/template/module/category.tpl

... ищем строку
            <a href="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></a>

дальше пишем кусок с перебором товаров примерно так, не забудьте про стили и необходимые проверки

<?php if (isset($child['products'])) {  ?>
<ul>
    <?php foreach ($child['products'] as $product) { ?>
      <li><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></li>
<?php } ?>
</ul>
<?php } ?>

+ еще надо поправить определение текущей категории по товару
и вытаскивание товаров для активной категории

catalog/controller/module/category.php
там, где наполняются категории

$children_data[] = ...;

нужно добавить кусок из catalog/controller/product/category.php

переписать вот это примерно так, но поисправлять все!

$data = array(
        'filter_category_id' => $child['category_id'],
        'filter_filter'      => $filter, 
        'sort'               => $sort,
        'order'              => $order,
        'start'              => ($page - 1) * $limit,
        'limit'              => $limit
      );
      $results = $this->model_catalog_product->getProducts($data);

и засунуть эти результаты туда, к $children_data
вроде следующего

$children_data[] = array(
          'category_id' => $child['category_id'],
          'name'        => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
          'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])	,

'products' => $results 

        );

если много товаров, эта хрень может тормозить

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question