Как изменить отображение картинок на странице товара в OpenCart?

Здравствуйте.

Есть проблема – у любого товара есть главное изображение, которое будет отображаться как превью на разных страницах. Например, на главной. У меня это изображение имеет разрешение 263x181, и на главной выглядит вот так:
64d55ee6d4d041a5a971612085f32f2f.png
Но вот если перейти на страницу товара, то эта картинка будет стоять на первом месте в и занимать больше всего места. Выглядит это вот так:
1805e65f95e4469ca3fb2b5f09f45919.png
Несложно догадаться, что будет, если кликнуть на неё – картинка низкого разрешения растягивается и выглядит это неприятно:
4beba4da3a944d7790c8e2a02259de70.png

При этом при ниже располагаются картинки подходящего разрешения.

Вот код из product.tpl:
<div class="<?php echo $class; ?>">
          <?php if ($thumb || $images) { ?>
          <ul class="thumbnails">
            <?php if ($thumb) { ?>
            <li><a class="thumbnail" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li>
            <?php } ?>
            <?php if ($images) { ?>
            <?php foreach ($images as $image) { ?>
            <li class="image-additional"><a class="thumbnail" href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>"> <img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li>
            <?php } ?>
            <?php } ?>
          </ul>


Как убрать изображение с низким разрешением со страницы товара, поставив на её место одну из картинок с подходящим разрешением?
  • Вопрос задан
  • 3074 просмотра
Решения вопроса 1
@skdon
Можно в контроллере
\catalog\controller\product\product.php
Мзменить разрешение ресайза т.е. вместо
$this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));

Написать
$this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], 300, 300));

Где 300 - желаемое разрешение
Тоже самое можно проделать и с
$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height'));


Либо перебрать массив наоборот
вместо <?php foreach ($images as $image) { ?>
так
<?php foreach (array_reverse($images) as $image) { ?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы