Как вывести картинку категории в Opencart

Этот метод подойдет для многих версий cms opencart судя по найденным отзывам на форумах. Я же применил его на Ocshop 1.5.6.4 в шаблоне Rubber и проблем не было. Хотя там уже был предусмотрен участок кода. Выкладываю ниже желаемое:

1. Заходим в catalog\controller\product, берем category.php и после строк

foreach ($results as $result) {
$data = array(
‘filter_category_id’ => $result['category_id'],
‘filter_sub_category’ => true
);

вставляем

if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $this->config->get(‘config_image_product_width’), $this->config->get(‘config_image_product_height’));
} else {
$image = $this->model_tool_image->resize(‘no_image.jpg’, $this->config->get(‘config_image_product_width’), $this->config->get(‘config_image_product_height’));
}

чуть ниже после

‘name’  => $result['name'] . ‘ (‘ . $product_total . ‘)’,

добавляем строку

‘thumb’ => $image,

2. Теперь (на примере шаблона Rubber) переходим в catalog\view\theme\rubber\template\product и открываем файл category.tpl

ищем

<?php if ($categories) { ?>
<h2><?php echo $text_refine; ?></h2>
<div class=»category-list»>
<?php if (count($categories) <= 5) { ?>
<ul>
<?php foreach ($categories as $category) { ?>
<li><a href=»<?php echo $category['href']; ?>»><?php echo $category['name']; ?></a></li>
<?php } ?>
</ul>
<?php } else { ?>
<?php for ($i = 0; $i < count($categories);) { ?>
<ul>
<?php $j = $i + ceil(count($categories) / 4); ?>
<?php for (; $i < $j; $i++) { ?>
<?php if (isset($categories[$i])) { ?>
<li><a href=»<?php echo $categories[$i]['href']; ?>»><?php echo $categories[$i]['name']; ?></a></li>
<?php } ?>
<?php } ?>
</ul>
<?php } ?>
<?php } ?>
</div>
<?php } ?>

и заменяем это все на

<?php if ($categories) { ?>
<div class=»box-product»>
<?php foreach ($categories as $category) { ?>
<div>

<div class=»image»><a href=»<?php echo $category['href']; ?>»><img src=»<?php echo $category['thumb']; ?>» title=»<?php echo $category['name']; ?>» alt=»<?php echo $category['name']; ?>» /></a></div>

<div class=»name»><a href=»<?php echo $category['href']; ?>»><?php echo $category['name']; ?></a></div>
</div>
<?php } ?>
</div>
<?php } ?>

Это и всё. Но при вставке обращайте внимание на содержание, в некоторых шаблонах уже есть данный метод (только недоработанный).

share

Оставить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: