Indexing
...
Products
Images
Configurable Product Images
3min
klevu, by default, will sync the variant product image for each variant it will also sync the configurable product image as a fallback the pipeline for variant images looks like this klevu indexingproducts etc/pipeline/product/attributes/image/variant yml findimagetouse pipeline pipeline\fallback stages klevuimage import klevu indexingproducts etc/pipeline/product/attributes/images/klevu image yml image import klevu indexingproducts etc/pipeline/product/attributes/images/base image yml klevuimageparent import klevu indexingproducts etc/pipeline/product/attributes/images/parent product/klevu image yml imageparent import klevu indexingproducts etc/pipeline/product/attributes/images/parent product/base image yml placeholder import klevu indexingproducts etc/pipeline/product/attributes/images/placeholder image yml default stages getimage pipeline stage\staticvalue args value null this fallback pipeline will return an image patch as soon as it finds one it can use get the variant klevu image get the variant base image get the configurable klevu image get the configurable base image get the placeholder image placeholder is set before the pipeline begins and also uses a fallback get the klevu image placeholder get the base image placeholder finally if none of the above are set, return null remove variant images if you wish to always sync the configurable product image only then we can update the pipeline to remove the variant product images create a pipeline override file vendor/module/etc/pipeline/add update yml stages iterateindexingrecords stages processproduct stages variantproduct # target variant products only stages generaterecord stages attributes stages image stages findimagetouse removestages \ klevuimage \ image then add the pipeline override yaml file to the pipelines for add and update vendor/module/etc/di xml \<! inject an override into the override filepath provider for add > \<! we inject the same file into add and update as we sync the same data, however they use different providers > \<virtualtype name="klevu\indexingproducts\service\provider\pipelineconfigurationoverridesfilepathsprovider\add"> \<arguments> \<argument name="pipelineconfigurationoverridefilepaths" xsi\ type="array"> \<item name="remove variant image override add" xsi\ type="string">vendor module etc/pipeline/add update yml\</item> \</argument> \</arguments> \</virtualtype> \<! inject an override into the override filepath provider for update > \<! we inject the same file into add and update as we sync the same data, however they use different providers > \<virtualtype name="klevu\indexingproducts\service\provider\pipelineconfigurationoverridesfilepathsprovider\update"> \<arguments> \<argument name="pipelineconfigurationoverridefilepaths" xsi\ type="array"> \<item name="remove variant image override update" xsi\ type="string">vendor module etc/pipeline/add update yml\</item> \</argument> \</arguments> \</virtualtype> see pipeline customisation https //docs klevu com/klevu magento v4/entities pipelines customisation for move information on how to customise pipelines