Aller au contenu

Reconstruire les galeries produit

Objectif

Régénérer ccx_product_gallery_v1 à partir de l’image principale des modèles et des images disponibles sur les offres normalisées.

Sources d’images

La construction peut utiliser :

  • image_url du modèle ;
  • image_norm ;
  • image_alt_1 à image_alt_4 ;
  • image_gallery_json.

Les URL sont dédupliquées avant l’écriture. Le constructeur observé limite la galerie à huit images.

Méthode PHP CLI

docker exec -it ccx-wordpress php -r '
require "/var/www/html/wp-load.php";
require_once WP_PLUGIN_DIR . "/ccx-feeds-industrial/includes/bootstrap/product-models-application.php";
ccx_bootstrap_product_models_application();

if (!function_exists("ccx_product_gallery_rebuild")) {
    fwrite(STDERR, "ccx_product_gallery_rebuild indisponible\n");
    exit(1);
}

print_r(ccx_product_gallery_rebuild("smartphone"));
'

Changer smartphone par la verticale souhaitée.

Contrôle après reconstruction

docker exec -it ccx-mariadb mariadb -u root -proot ccx -e "
SELECT vertical_id,
       COUNT(*) AS galleries_count,
       SUM(images_count) AS total_images,
       ROUND(AVG(images_count), 2) AS avg_images,
       MAX(updated_at) AS last_updated_at
FROM wp_3888956ccx_product_gallery_v1
WHERE vertical_id='smartphone'
GROUP BY vertical_id;
"

Vérification des galeries vides

docker exec -it ccx-mariadb mariadb -u root -proot ccx -e "
SELECT model_key, model_slug, images_count, primary_image
FROM wp_3888956ccx_product_gallery_v1
WHERE vertical_id='smartphone'
  AND (images_count = 0 OR COALESCE(primary_image, '') = '');
"

Ordre d’exécution

Reconstruire la galerie après la normalisation et la projection des modèles, afin que les slugs, clés et images principales soient cohérents.