
Ви можете додати картинки продуктів у Flyout cart https://www.drupal.org/project/commerce_cart_flyout щоб зробити його більш привабливим для користувачів! Для цього використовуйту нормалайзери для Variations.
Додайте services.yml до вашого модуля.
my_commerce.cart_normalizer.product_variation: class: Drupal\my_commerce\Normalizer\VariationCartNormalizer tags: - { name: normalizer, priority: 2 }
Во моєму випадку сутність Товару має картинку, то ж беремо її звідти.
$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
Після цього її можна використати у шаблоні commerce-cart-flyout-offcanvas-contents-items.html.twig
<% _.each(cart.order_items, function(orderItem, key) { %> <img src="<%- orderItem.purchased_entity.image %>" width="70px" height="70px" /> <% }) %>