Μετάβαση στο περιεχόμενο
Πίσω στα Άρθρα

PrestaShop Product Images: audit, URLs και import workflow χωρίς σπασμένες εικόνες

Product image imports, migrations & catalogue QA
HTTP
POST /api/images/products/42

Content-Type:
multipart/form-data

image=@product-main.jpg

VERIFY → REORDER → CLEANUP
Import & Export
Intermediate
PrestaHacks 3 min read

Έχεις 4.000 products και ένα column:

TEXT
image_url

Αυτό δεν σημαίνει ότι έχεις 4.000 έτοιμες product images.

Ένα σωστό image workflow πρέπει να ελέγξει association, availability, format, duplicates και failures.

1. Το source URL είναι input

TEXT
https://supplier.example/images/ABC001.jpg

Πριν το import:

TEXT
Υπάρχει;
Είναι 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 μπορεί να έχει πολλές εικόνες

TEXT
PRODUCT
 ├── image 1
 ├── image 2
 ├── image 3
 └── image 4

4. Products χωρίς image association

SQL
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

SQL
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

TEXT
IMAGE URL
   ↓
HTTP CHECK
   ↓
CONTENT TYPE
   ↓
SIZE
   ↓
VALID / INVALID

7. Temporary URLs

Supplier URLs μπορεί:

  • να λήγουν,
  • να απαιτούν session,
  • να έχουν signed query strings,
  • να μπλοκάρουν automated requests.

8. Duplicate URLs

Έλεγξε:

TEXT
same URL → multiple SKUs

Μπορεί να είναι σωστό ή mapping error.

9. Cover image

Χρειάζεσαι deterministic rule:

TEXT
position 1 = cover

ή explicit:

TEXT
cover = true

10. File naming

TEXT
SKU-001_01.jpg
SKU-001_02.jpg
SKU-001_03.jpg

11. RAW και READY

TEXT
RAW_IMAGE_URLS
       ↓
VALIDATE
       ↓
NORMALIZE
       ↓
ASSOCIATE SKU
       ↓
ORDER
       ↓
READY_FOR_IMPORT

12. Post-import audit

TEXT
EXPECTED IMAGE COUNT
        vs
ACTUAL IMAGE COUNT

Broken 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 να είναι μετρήσιμο.

ΜΕΙΝΕ ΕΝΗΜΕΡΩΜΕΝΟΣ

Πρακτικά PrestaShop hacks κατευθείαν στο inbox σου.

ΑΝΕΝΕΡΓΟ