Set different product images per languages
Technical Information
Highlights
-
Product images for each language different / set individually
-
Preview images for each language different / set individually
Features
-
Show product images depending on language
-
Display product image preview depending on the desired language
-
Fallback function, if no correct assignment of the preview / image order to the language has been made
Why do you need that plugin
You want to use different product images for a product, depending on the selected language - then this is not possible with the Shopware standard. An image can only be displayed in all languages and thus sales channels.With this plugin you can define which product image should be displayed for each language.
Use of the plugin
After successful installation of the plugin, new functions are available for the products in the media area.When you mouseover a product image in the admin area, the familiar ... If they click on it, "Configure image/cover" appears, the following configurations are then possible:
- Use as default cover
- The image should be available in the following languages
please type in the desired language for which the image should be displayed
- After the language has been selected, the function Use this image as cover for "xxxx" will appear
Install the plugin as usual in Shopware, the plugin offers no further configuration options.
The use of the function is directly at the product images assigned to the product.
Frequently Asked Questions
Yes, this is possible - here is an example: Sync-API Aufruf: /api/_action/sync
[
{
"key": "write",
"action": "upsert",
"entity": "product",
"payload": [
{
"id": "44211790f53d485cb59d9cdcce607c12",
"coverId": "380e35f6a4b2446fb1ae86a6fdfdc482",
"media": [
{
"id": "201188140388444d9f6ac8a143d4afc2",
"position": 0,
"acrisProductDisplayImage": {
"languages": [
{
"id": "d34fa0aad2544b3b91f1ae58d73eff23"
},
{
"id": "2fbb5fe2e29a4d70aa5854ce7ce3e20b"
}
],
"useImageAsCoverForLanguage": [
{
"languageId": "d34fa0aad2544b3b91f1ae58d73eff23",
"value": false
},
{
"languageId": "2fbb5fe2e29a4d70aa5854ce7ce3e20b",
"name": "English",
"value": false
}
]
}
},
{
"id": "380e35f6a4b2446fb1ae86a6fdfdc482",
"acrisProductDisplayImage": {
"languages": [
{
"id": "2fbb5fe2e29a4d70aa5854ce7ce3e20b"
}
],
"useImageAsCoverForLanguage": [
{
"languageId": "2fbb5fe2e29a4d70aa5854ce7ce3e20b",
"value": true
}
]
}
},
{
"id": "a2094d86f4de429784de005c792dba67",
"position": 2
}
]
}
]
}
]
* „languages“ describes to which languages the images are assigned. Here you have to take the UUID of the language. * „useImageAsCoverForLanguage“ describes in which languages the image should be used as cover. Of course, there should only ever be one image as a cover per language.
Yes. The plugin does not provide its own store API route, but the plugin implements the logic when loading products (technical event: ‘sales_channel.product.loaded’). This allows the plugin to ensure that only the media assigned to the respective language is loaded with the product.
| Version | Date | Compatibility | Changelog |
|---|---|---|---|
| 3.0.14 | 1 July 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.13 | 1 June 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.12 | 7 May 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.11 | 3 March 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.10 | 3 March 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.9 | 3 February 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.8 | 2 February 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.7 | 7 November 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.6 | 7 November 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.5 | 3 November 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.4 | 20 August 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.3 | 11 July 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.2 | 3 July 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.1 | 21 May 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 3.0.0 | 5 May 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 2.3.9 | 1 June 2026 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.3.8 | 7 May 2026 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.3.7 | 7 November 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.3.6 | 7 November 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.3.5 | 3 November 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.3.4 | 20 August 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.3.3 | 28 July 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.3.2 | 21 May 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.3.1 | 12 May 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.3.0 | 21 February 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.2.1 | 11 December 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.2.0 | 13 September 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.1.2 | 6 September 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.1.1 | 26 August 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.1.0 | 21 August 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.0.2 | 19 June 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.0.1 | 22 March 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 2.0.0 | 21 March 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 1.6.1 | 1 June 2026 | >=6.5.0.0 < 6.6.0.0 |
|
| 1.6.0 | 19 January 2026 | >=6.5.0.0 < 6.6.0.0 |
|
| 1.5.0 | 21 February 2025 | >=6.5.0.0 < 6.6.0.0 |
|
| 1.4.0 | 13 September 2024 | >=6.5.0.0 < 6.6.0.0 |
|
| 1.3.1 | 6 September 2024 | >=6.5.0.0 < 6.6.0.0 |
|
| 1.3.0 | 21 August 2024 | >=6.5.0.0 < 6.6.0.0 |
|
| 1.2.5 | 27 November 2023 | >=6.4.0.0 |
|
| 1.2.4 | 17 November 2023 | >=6.4.0.0 |
|
| 1.2.3 | 18 September 2023 | >=6.4.0.0 |
|
| 1.2.2 | 8 September 2023 | >=6.4.0.0 |
|
| 1.2.1 | 25 April 2023 | >=6.4.0.0 |
|
| 1.2.0 | 20 April 2023 | >=6.4.0.0 |
|
| 1.1.6 | 3 March 2023 | >=6.4.0.0 |
|
| 1.1.5 | 1 March 2023 | >=6.4.0.0 |
|
| 1.1.4 | 13 February 2023 | >=6.4.0.0 |
|
| 1.1.3 | 20 December 2022 | >=6.4.0.0 |
|
| 1.1.2 | 26 November 2022 | >=6.4.0.0 |
|
| 1.1.1 | 26 November 2022 | >=6.4.0.0 |
|
| 1.1.0 | 26 November 2022 | >=6.4.0.0 |
|
| 1.0.1 | 26 November 2022 | >=6.4.0.0 |
|
| 1.0.0 | 26 November 2022 | >=6.4.0.0 |
|