Przyczyna
Błąd się objawia następująco
- zdjęcie jest widoczne „na starcie” podczas wejścia na kartę produktu
- jest ono zupełnie nie związane z danym produktem i zazwyczaj odnosi się do zupełnie innego produktu
- w zapleczu sklepu podczas próby jego edycji – brak tego zdjęcia w galerii produktu – nie można go usunąć
- po wybraniu jakiegokolwiek innego zdjęcia – nie można wrócić do tego błędnego zdjęcia
Czyli, można powiedzieć zdjęcie-widmo.
Sprawa jest dość enigmatyczna i trudno ją naprawić z poziomu zaplecza. Przyczyną jest zapewne błąd podczas importu kombinacji atrybutów (jak importować kombinacje atrybutów z Presta Shop 1.4 do 1.6 opisaliśmy w tym artykule).
Analiza
Aby rozwiązać ten problem należy zbadać jak zaimportowana jest tabela w bazie danych o nazwie:
ps_product_attribute_image
(dla domyślnego prefixu w MySQL „ps_„)
Przypisuje ona obrazek o danym ID do atrybutu o danym ID. Aby znaleźć jaki produkt jest przypisany do atrybutu należy przejrzeć tabelę:
ps_product_attribute
Aby znaleźć na serwerze obrazek, który ma określony ID należy odpowiednio nawigować w folderze:
img/p
Dla przykładu – obrazek o ID = 1340 będzie w folderze:
img/p/1/3/4/0
Natomiast obrazek o ID = 774 będzie w folderze:
img/p/7/7/4
Naprawa
Jeśli nie jesteśmy w stanie odpowiednio wypełnić tabeli na podstawie bazy wzorcowej najszybszym rozwiązaniem będzie opróżnienie tabeli:
truncate ps_product_attribute_image;
Oczywiście warto najpierw zrobić kopię bezpieczeństwa tej tabeli. Skutkiem tego zapytania będzie brak przypisanych obrazków w każdej kombinacji. Aby je przywrócić należy w danym produkcie użyć generatora kombinacji.