Сообщение от
VST
Интернет-магазины разные. Во многих ИМ используется только одно изображение товара.
Коллега, это же отговорка
И очевидно, раз этим пользуются далеко не все, то можно схалтурить
Сообщение от
VST
Если сделать по дефолту как предлагаете вы, то всегда будет выводиться ещё и ненужное в этом случае превью.
Читайте внимательнее
при записи доп.изображения автоматически прописывать основное как первое дополнительное.
Нет "настоящего" дополнительного - нет "основного дополнительного"
Решил не создавать новую тему, а написать сюда - т.к. касается изображений.
Что на самом деле делает установка "Всегда изменять размеры (4 варианта) изображения, если они превышают установленные
(always resize (....) image if its dimensions exceed max values)
Эти 4 пункта находится в меню Настройки > Товары > Настройки товаров > Изображения
Соответствующее значение (здесь и далее для примера tiny image) - таблица БД va_global_settings, resize_tiny_image
Смотрим на участок кода загрузки изображения (admin_upload.php):
Код:
if ($is_generate_tiny_image || $resize_tiny_image) {
$tiny_width = get_setting_value($settings, "tiny_image_max_width", 32);
$tiny_height = get_setting_value($settings, "tiny_image_max_height", 32);
if (@resize($uploaded_filename, $filepath, $images_root.$tiny_dir_suffix, $tiny_width, $tiny_height, $errors)) {
@chmod($images_root . $tiny_dir_suffix . $uploaded_filename, 0666);
}
}
Условие if ($is_generate_tiny_image || $resize_tiny_image) означает, что даже если Вы не хотите загружать tiny image, но в глобальных настройках у Вас включено Всегда изменять размеры... - tiny image всё равно будет пересчитано в 32х32 и записано в соотв. папку. Сюрприз: оно нигде не пропишется в настройках.
Таким образом, при загрузке только одного изображения получаем + еще 3 в нагрузку.
Решение 1 (видимо правильное):
"Всегда изменять размеры (...) изображения, если они превышают установленные" читаем как "Всегда загружать такое изображение, перекрывая настройку "Генерировать (создавать)..." в popup окне загрузки.
Решение 2 (видимо нафиг такое не надо?)
Хак на скорую руку (требует проверки, не тестировал): настройка делает именно то, что написано:
Код:
if ($is_generate_tiny_image) {
if ($resize_tiny_image) {
$tiny_width = get_setting_value($settings, "tiny_image_max_width", 32);
$tiny_height = get_setting_value($settings, "tiny_image_max_height", 32);
$resize_tiny = @resize($uploaded_filename, $filepath, $images_root.$tiny_dir_suffix, $tiny_width, $tiny_height, $errors);
} else {
$copy_tiny = @copy($filepath.$uploaded_filename, $images_root.$tiny_dir_suffix.$uploaded_filename);
}
if ($resize_tiny || $copy_tiny) {
@chmod($images_root . $tiny_dir_suffix . $uploaded_filename, 0666);
}
}
[off]писал минут 20 наверное насчёт еще 2х граблей, найденных мной и связанных с изображениями на детальной странице товара, решил добавить цитату, нажал на кнопку QUOTE в посте и.... всё погибло.[/off]
Сообщение от
vasquez
Единственное решение, которое должны были написать авторы и которое я вижу без изменения логики скрипта - при записи доп.изображения автоматически прописывать основное как первое дополнительное.
Решение признано мной идеологически неверным. Не следует писать в БД лишние данные лишь для исправления чьих-то кривых рук. Написана заплатка, генерирующая предпросмотр основного изображения при наличии дополнительных. Тестирую. По результатам выложу сюда.
Баги и глюки связанные с выводом изображений на детальной странице товара
1. Тема топика: Пропадает основное изображение товара, после наведения на курсора на дополнительное
2. При наличии нескольких допкартинок и разных вариантов их показа (под главным/на отдельной вкладке) показ на отдельной вкладке генерирует неправильное big изображение (последнее из расположенных под главным). После наведения курсора на превью изображения справа всё показывается правильно. (См. вложение)
3. Если картинки разных геометрических размеров, mouseover вызывает ужасное дёргание на странице в области вывода изображений
Вот еще глюк: 2 широкие картинки: налезают друг на друга
Социальные закладки