Задать вопрос
maaaaaaan
@maaaaaaan
верстка

Opencart как сделать вывод товаров в меню категорий слева, модули не предлагайте, все перерыл, такого нет?

пример e8ee73bf72f448cb8756c88747a8de80.png
  • Вопрос задан
  • 2785 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
zoonman
@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 

				);

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

Войдите, чтобы написать ответ

Похожие вопросы