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_urldu 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.