Перейти к содержанию

Рекомендуемые сообщения

Подскажите пожалуйста , какой вставить код что бы картинка занимала весь блок, не подгоняя её по размеру. Это галлерея. Пробовал with/hight -100% не помогло 

Сайт http://plomeria-shop.ru/obzor-1

Снимок.PNG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, aka75 сказал:

Подскажите пожалуйста , какой вставить код что бы картинка занимала весь блок, не подгоняя её по размеру. Это галлерея. Пробовал with/hight -100% не помогло 

Сайт http://plomeria-shop.ru/obzor-1

Снимок.PNG

Можно подогнать картинку в фотошопе по размеру блока. Ну и картинка обрежется.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
25 минут назад, SoundMonster сказал:

Можно подогнать картинку в фотошопе по размеру блока. Ну и картинка обрежется.

 

Мама с детсва учила, что от работы кони дохнут))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, aka75 сказал:

Мама с детсва учила, что от работы кони дохнут))))

Ну картинки однозначно у тебя обрежутся, если подгонять,сразу говорю, ибо подгон, это увеличение картинки ну и следственно обрез!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, SoundMonster сказал:

Ну картинки однозначно у тебя обрежутся, если подгонять,сразу говорю, ибо подгон, это увеличение картинки ну и следственно обрез!

Потом результат скину, если будет интересно глянешь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, aka75 сказал:

какой вставить код что бы картинка занимала весь блок, не подгоняя её по размеру.

никакой

Это у вас уже обрезанные картинки.

То есть у вас в настройках магазина указан размер картинок квадратный( как у всех)

Система обрезает картинки по бОльшей стороне.

По меньшей стороне остаются белые поля.

Самое простое решение- готовьте квадратные картинки для сайта.

Есть еще вариант с обрезкой по короткой стороне.

И вариант без обрезки вообще.

Но он вам не подойдет, для всплывающих картинок да, а вот для миниатюр... нет. .

P.S> В поиске ключевое сочетание: image resize, ресайз картинок

 

Можно рамку убрать, тогда сольется с фоном..

.wpgallery a, .wpgallery img {

border: none;

}

Изменено пользователем jaffagold

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
30 минут назад, jaffagold сказал:

никакой

Это у вас уже обрезанные картинки.

То есть у вас в настройках магазина указан размер картинок квадратный( как у всех)

Система обрезает картинки по бОльшей стороне.

По меньшей стороне остаются белые поля.

Самое простое решение- готовьте квадратные картинки для сайта.

Есть еще вариант с обрезкой по короткой стороне.

И вариант без обрезки вообще.

Но он вам не подойдет, для всплывающих картинок да, а вот для миниатюр... нет. .

P.S> В поиске ключевое сочетание: image resize, ресайз картинок

 

Можно рамку убрать, тогда сольется с фоном..

.wpgallery a, .wpgallery img {

border: none;

}

Спасибо за совет. У меня была аналогичная ситуация на остор 15512 , вот только как это обычно бывает не могу вспомнить что я там делал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А неужто никто не хотел функцию image.resize через ocmod доработать чтобы белые поля не вставляла?
Вроде мелочь, но такое поведение как на низкосортной деревянной cms точно не современно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в вашем случае решается так
(убрал border: 1px solid #ccc; )
а вообще делал автоподстройку отображений картинок товара в карточке и в категориях... но к данному решению не подойдет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, qub сказал:

 

А неужто никто не хотел функцию image.resize через ocmod доработать чтобы белые поля не вставляла?

 

А какие поля вставлять при обрезке неквадратных изображений? Зеленые?

Вообще, раньше как-то все справлялись: готовили в фотошопе оптимизированные картинки для сайта в одном размере и миниатюры тоже.

 

Изменено пользователем jaffagold

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А какие поля вставлять при обрезке неквадратных изображений? Зеленые?
Вообще, раньше как-то все справлялись: готовили в фотошопе оптимизированные картинки для сайта в одном размере и миниатюры тоже.
 

Да лучше уж чёрные! Кстати, а ведь это не очень сложно, да?
на 2.1.0.2 версии?
Где-то во фреймворке...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
BLOG/dushevay-kabina-Frank%20F656/dushevay-kabina-Frank%20F656.jpg
/BLOG/dushevay-kabina-Frank%20F656/dushevay-kabina-Frank%20F656.jpg

.......

Судя по наличию пробелов в названиях картинок и папок,Штирлиц никогда не был так близок к провалу.....

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 20.05.2017 в 18:46, SoundMonster сказал:

Ну картинки однозначно у тебя обрежутся, если подгонять,сразу говорю, ибо подгон, это увеличение картинки ну и следственно обрез!

Вот что получилось http://plomeria-shop.ru/obzor-1

Отдельное спасибо разработчику модуля WP Gallery for OpenCart 2.1. gello93. 

Скину часть беседы  может кому-нибудь будет полезно. 

 

 

 


 

 gello93  2
2. Поля появляются из за стандартной обрезки фото. Эта обрезка добавляет белые поля. Вот функция для нормальной обрезки.
 

public function cropsize($filename, $width, $height) {
  if (!is_file(DIR_IMAGE . $filename)) {
    if (is_file(DIR_IMAGE . 'no_image.jpg')) {
      $filename = 'no_image.jpg';
    } elseif (is_file(DIR_IMAGE . 'no_image.png')) {
      $filename = 'no_image.png';
    } else {
      return;
    }
  }

  $extension = pathinfo($filename, PATHINFO_EXTENSION);

  $old_image = $filename;
  $new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;

  if (!is_file(DIR_IMAGE . $new_image) || (filectime(DIR_IMAGE . $old_image) > filectime(DIR_IMAGE . $new_image))) {
    $path = '';

    $directories = explode('/', dirname(str_replace('../', '', $new_image)));

    foreach ($directories as $directory) {
      $path = $path . '/' . $directory;

      if (!is_dir(DIR_IMAGE . $path)) {
        @mkdir(DIR_IMAGE . $path, 0777);
      }
    }

    list($width_orig, $height_orig) = getimagesize(DIR_IMAGE . $old_image);

    if ($width_orig != $width || $height_orig != $height) {
      $image = new Image(DIR_IMAGE . $old_image);
      if ($width/$height > $width_orig/$height_orig) {
          $image->resize($width, $height, 'w');
      } elseif ($width/$height < $width_orig/$height_orig) {
          $image->resize($width, $height, 'h');
      }
      $image->resize($width, $height);
      $image->save(DIR_IMAGE . $new_image);
    } else {
      copy(DIR_IMAGE . $old_image, DIR_IMAGE . $new_image);
    }
  }

  $imagepath_parts = explode('/', $new_image);
  $new_image = implode('/', array_map('rawurlencode', $imagepath_parts));
  
  if ($this->request->server['HTTPS']) {
    return $this->config->get('config_ssl') . 'image/' . $new_image;
  } else {
    return $this->config->get('config_url') . 'image/' . $new_image;
  }
}

Добавьте ее в файл /catalog/model/tool/image.php после  

class ModelToolImage extends Model {

И в модификаторе галереи system/wp_gallery.ocmod.xml замените:

$this->model_tool_image->resize($result['image'], $img_width, $img_height)

на

$this->model_tool_image->cropsize($result['image'], $img_width, $img_height)

После этого нужно почистить кеш изображений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так это обычный кроп.Пообрубало картинки и всё.

Вариант 2:

system/library/image.php

 

после 

$ypos = (int)(($height - $new_height) / 2);

добавить

				$new_width = (int)($this->width * $scale);
				$new_height = (int)($this->height * $scale);
				
				$original_aspect = $this->width / $this->height;
				$thumb_aspect = $width / $height;
				
				if ( $original_aspect >= $thumb_aspect ) {
				$new_height = $height;
				$new_width = $this->width / ($this->height / $height);
				} else {
				$new_width = $width;
				$new_height = $this->height / ($this->width / $width);
				}
				
				$xpos = (int)(0 - (($new_width - $width) / 2));
				$ypos = (int)(0 - (($new_height - $height) / 2));

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Tom сказал:

Так это обычный кроп.Пообрубало картинки и всё.

Вариант 2:

system/library/image.php

 

после 


$ypos = (int)(($height - $new_height) / 2);

добавить


				$new_width = (int)($this->width * $scale);
				$new_height = (int)($this->height * $scale);
				
				$original_aspect = $this->width / $this->height;
				$thumb_aspect = $width / $height;
				
				if ( $original_aspect >= $thumb_aspect ) {
				$new_height = $height;
				$new_width = $this->width / ($this->height / $height);
				} else {
				$new_width = $width;
				$new_height = $this->height / ($this->width / $width);
				}
				
				$xpos = (int)(0 - (($new_width - $width) / 2));
				$ypos = (int)(0 - (($new_height - $height) / 2));

 

Гланое ,что это всё работает. Красиво и ладно))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здесь есть "нюансиг"  ....  теперь картинки по всему магазину будут обрубаться.А это как показывает практика не всегда есть хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну х.з . Меня пока всё устраивает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странное конечно отношение.Это же по сути гланды,которые удалять идут к практологу.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
27 минут назад, Tom сказал:

Странное конечно отношение.Это же по сути гланды,которые удалять идут к практологу.

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

 

Я увы не могу с вами профессионально обсуждать эту тему, так как являюсь нубом в этой теме. Но имея на сайте 1000 товаров и около 3000 картинок при выборочном просмотре изображений я ничего критичного не заметил. Как то так:-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я делал попроще (правки контроллера)... но то же вполне работоспособно... ну и "неувядаемый", мне очень нравящийся masonry, естественно имеет место быть)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 23.05.2017 в 16:50, Pascha сказал:

я делал попроще (правки контроллера)... но то же вполне работоспособно... ну и "неувядаемый", мне очень нравящийся masonry, естественно имеет место быть)))

Добрый день. А есть ли способ сделать это в контроллере что бы в категории товара картинка ресайзилась по параметрам из полей карточки товара?

(Грубо говоря я добавляю два поля Ширина-картинки и высота-картинки основного изображения) и по этим полям ресайзились картинки? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Создём себе сложности и потом героически их преодолеваем)))) Стесняюсь спросить ,а что если картинкам товара и в категории в настройках установить один размер? Чем помогут в таком случае ваши правки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может я не так выразился, но мне хотелось бы реализовать такой вывод товаров http://espanola.ru/mebel-po-fabrikam/fabrika-citay/carpenter/carpenter-216/gostinyye-stenki-komody-i-zerkala-carpenter-216/

Я подумал что задавая в карточке товара параметр размера главной картинки для ресайза как то решит мою проблему

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не решит.Потому, как изменение размеров, о которых вы писали это лишь начало,  тех правок которые необходимы,что бы добиться такого же результата.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×