[Помогите] Разные пропорции изображений для разных категорий

Тема в разделе "OpenCart", создана пользователем Vitalka, 9 янв 2018.

  1. Vitalka

    Vitalka

    Регистрация:
    6 авг 2014
    Сообщения:
    5
    Симпатии:
    0
    Доброго дня, уважаемые Гуру
    Есть магазин рыболоных товров (Opencart 2.2) с соответствующими категориями: спининги, катушки, лески и т.д. Изображение спининга в карточке товара вытягиваем по горизонтали, всё Ок, настраивается в админке. Но изображения остальных товаров в продолговатом окне (800х200) выглядят странно, если не сказать убого. Есть ли способ присвоить разным категориям товаров разные размеры изображений?

    Заранее спасибо
     
  2. Master2KAZ

    Master2KAZ

    Регистрация:
    25 окт 2014
    Сообщения:
    183
    Симпатии:
    72
    Без сторонних модулей - никак.
     
  3. Vitalka

    Vitalka

    Регистрация:
    6 авг 2014
    Сообщения:
    5
    Симпатии:
    0
    Извините, в php не силён :( , но думаю, должно лечиться прописыванием нескольких строк.
    Т.е. размеры изображения=заданы в админке, но если ID категории такой-то, то размеры изображения=другой размер.
     
  4. Master2KAZ

    Master2KAZ

    Регистрация:
    25 окт 2014
    Сообщения:
    183
    Симпатии:
    72
    Ну это да. Если делать "топорно", то можно напрямую в \catalog\controller\product\category.php написать что-то типа
    PHP:
               $categories1 = array('23','46','52');
               
    $categories2 = array('24','45','58');
               
    $categories3 = array('13','6','54');

               if (
    in_array($category_id$categories1) {
                          
    $i_width '480';
                          
    $i_height '320';
               } elseif (
    in_array($category_id$categories2) {
                          
    $i_width '320';
                          
    $i_height '480';
               } elseif (
    in_array($category_id$categories3) {
                          
    $i_width '270';
                          
    $i_height '125';
               } else {
                          
    $i_width $this->config->get($this->config->get('config_theme') . '_image_product_width');
                          
    $i_height $this->config->get($this->config->get('config_theme') . '_image_product_height');
               };

                
    $product_total $this->model_catalog_product->getTotalProducts($filter_data);

                
    $results $this->model_catalog_product->getProducts($filter_data);

                foreach (
    $results as $result) {
                    if (
    $result['image']) {
                        
    $image $this->model_tool_image->resize($result['image'], $i_width$i_height);
                    } else {
                        
    $image $this->model_tool_image->resize('placeholder.png'$i_width$i_height);
                    } ....
    Но как бы, движок на то и движок, что подобные задачи должны решаться из админки, а для этого и нужны сторонние модули.
     
  5. Vitalka

    Vitalka

    Регистрация:
    6 авг 2014
    Сообщения:
    5
    Симпатии:
    0
    Master2KAZ, спасибо!
    Конечно, лучше из админки, но пока другого варианта не найдено, придётся делать "топорно". Тем более, что для одной категории, в которой будет постоянный набор товаров это не столь критично.