Баг или не баг Не принято

0

Разбираться особо не хочется, поэтому к сведению разработчиков webasyst.
При использовании настройки изображений

Имена файлов эскизов - Использовать исходные имена файлов

Делаем перегенерацию, потом хотим вернуться обратно к цифровым названиям - отжимаем галку, делаем перегенерацию.
И получаем 404 для эскизов основного артикула товара у которых заполнено поле image_filename в таблице shop_product
Перегенерация обнуляет поле filename только в таблице shop_product_images.

Из-за этого для основного артикула(и основного/первого изображения) продолжает генериться путь для эскизов на основе названия оригинала.



3 комментария

  • +2

    Попробовал, как вы сказали.

    1. Изначальное состояние: "Использовать исходные имена файлов" выключено. В БД колонка shop_product.image_filename для всех товаров пустая.
    2. Включил "Использовать исходные имена файлов". Выполнил "Удалить и заново создать эскизы изображений всех товаров". В БД колонка shop_product.image_filename стала содержать названия картинок.
    3. Выключил "Использовать исходные имена файлов". Выполнил "Удалить и заново создать эскизы изображений всех товаров". Колонка shop_product.image_filename, как и ожидалось, снова стала пустая.

    Вроде всё ок.

    Посмотрел логику перегенерации. Там идёт цикл по всем картинкам. Если видим, что $image['sort'] ноль (то есть это главная картинка товара), то обновляем значение image_filename соответствующего товара. Моё предположение, что в БД сломано условие, что product_image.sort==0 всегда соответствует главной картинке товара. Если в вашей базе это имеет место массово, большое подозрение на импорт или другой плагин массовой работы с товарами. Нужно больше информации. Есть мысли, на какой плагин смотреть?

    • 0
      Николай Иванов Николай Иванов 18 апреля 2016 05:57 #

      >Есть мысли, на какой плагин смотреть?

      Трудно сказать.
      Там >40 плагинов, в том числе и массовые работы с товарами + плагин формирования эскизов "Не обрезаем изображение" + плагин "массовое удаление изображений". Импорт/экспорт товаров тоже активно используется.

      Но судя по всему вы правы - у тех товаров, у которых после перегенерации осталось заполненным поле image_filename не имеют картинки в shop_product_images с полем sort=0.
      Для конкретики, глянул первый товар с непустым image_filename - 4 картинки с sort=7,8,9,10...можно предположить что виноват плагин массового удаления изображений.


      Пошевелив картинки такого товара(поменял первую со второй, а потом обратно) - поле image_filename обнуляется, но это не выход для конечного пользователя. Я, понятно, потом в базе массово почищу image_filename.

      А вот в перегенерации, видимо стоит использовать другое условие?




      • +2

        > в перегенерации, видимо стоит использовать другое условие

        Если удастся обойтись без дополнительных запросов в БД, то, пожалуй, стоит. Надо посмотреть.

        Добавить комментарий

        Чтобы добавить комментарий, зарегистрируйтесь или войдите