You can add images to Flyout cart https://www.drupal.org/project/commerce_cart_flyout to make look better! Use the same approach from previous article, adding normalizer for Variations.
Variations normalization. Add to services.yml in your module
my_commerce.cart_normalizer.product_variation:
class: Drupal\my_commerce\Normalizer\VariationCartNormalizer
tags:
- { name: normalizer, priority: 2 }In my case Product entity has an image, so we take it from there.
$images = $entity->getProduct()->field_images;
if (!empty($images) && isset($images->entity)) {
$original_image = $images->entity->getFileUri();
$style = \Drupal::entityTypeManager()
->getStorage('image_style')
->load('thumbnail');
$destination = $style->buildUri($original_image);
if (!file_exists($destination)) {
$style->createDerivative($original_image, $destination);
}
$attributes['image'] = $style->buildUrl($original_image);
}https://gist.github.com/onesixromcom/ba8ce1858af4a85d31283800ea87d4d2
Now you can use in commerce-cart-flyout-offcanvas-contents-items.html.twig template your image
<% _.each(cart.order_items, function(orderItem, key) { %>
<img src="<%- orderItem.purchased_entity.image %>" width="70px" height="70px" />
<% }) %>