PrestaShop Product Images: audit, URLs και import workflow χωρίς σπασμένες εικόνες
POST /api/images/products/42
Content-Type:
multipart/form-data
image=@product-main.jpg
VERIFY → REORDER → CLEANUP
Έχεις 4.000 products και ένα column:
image_urlΑυτό δεν σημαίνει ότι έχεις 4.000 έτοιμες product images.
Ένα σωστό image workflow πρέπει να ελέγξει association, availability, format, duplicates και failures.
1. Το source URL είναι input
https://supplier.example/images/ABC001.jpgΠριν το import:
Υπάρχει;
Είναι image;
Είναι public;
Είναι προσωρινό URL;
Σε ποιο SKU ανήκει;2. Image mapping
| SKU | Image URL | Position | Cover |
|---|---|---|---|
| ABC-001 | .../abc001-1.jpg | 1 | 1 |
| ABC-001 | .../abc001-2.jpg | 2 | 0 |
| ABC-002 | .../abc002.jpg | 1 | 1 |
3. Ένα product μπορεί να έχει πολλές εικόνες
PRODUCT
├── image 1
├── image 2
├── image 3
└── image 44. Products χωρίς image association
SELECT
p.id_product,
p.reference,
pl.name
FROM ps_product p
INNER JOIN ps_product_lang pl
ON pl.id_product = p.id_product
AND pl.id_lang = 1
AND pl.id_shop = 1
LEFT JOIN ps_image i
ON i.id_product = p.id_product
WHERE p.active = 1
GROUP BY
p.id_product,
p.reference,
pl.name
HAVING COUNT(i.id_image) = 0
ORDER BY pl.name;5. Count images per product
SELECT
p.id_product,
p.reference,
COUNT(i.id_image) AS image_count
FROM ps_product p
LEFT JOIN ps_image i
ON i.id_product = p.id_product
GROUP BY
p.id_product,
p.reference
ORDER BY image_count ASC;6. Validate remote URLs
IMAGE URL
↓
HTTP CHECK
↓
CONTENT TYPE
↓
SIZE
↓
VALID / INVALID7. Temporary URLs
Supplier URLs μπορεί:
- να λήγουν,
- να απαιτούν session,
- να έχουν signed query strings,
- να μπλοκάρουν automated requests.
8. Duplicate URLs
Έλεγξε:
same URL → multiple SKUsΜπορεί να είναι σωστό ή mapping error.
9. Cover image
Χρειάζεσαι deterministic rule:
position 1 = coverή explicit:
cover = true10. File naming
SKU-001_01.jpg
SKU-001_02.jpg
SKU-001_03.jpg11. RAW και READY
RAW_IMAGE_URLS
↓
VALIDATE
↓
NORMALIZE
↓
ASSOCIATE SKU
↓
ORDER
↓
READY_FOR_IMPORT12. Post-import audit
EXPECTED IMAGE COUNT
vs
ACTUAL IMAGE COUNTBroken image report
| SKU | Expected | Imported | Status |
|---|---|---|---|
| ABC-001 | 3 | 3 | OK |
| ABC-002 | 2 | 1 | REVIEW |
| ABC-003 | 1 | 0 | FAIL |
[SCREENSHOT PLACEHOLDER 01]
Spreadsheet με SKU, URLs, position και status.
[SCREENSHOT PLACEHOLDER 02]
Product gallery μετά το import.
Images είναι data
Σε μεγάλα catalogues οι εικόνες είναι dataset με identifiers, associations, ordering και validation rules.
Επόμενο βήμα
Πρόσθεσε image validation στο supplier-feed transformation pipeline, πριν παραχθεί το τελικό import file. Κράτησε expected image count και URL status μαζί με το log του CSV product import, ώστε το post-import reconciliation να είναι μετρήσιμο.