diff --git a/config/rapidez/models.php b/config/rapidez/models.php index 4782a6300..dd622536f 100644 --- a/config/rapidez/models.php +++ b/config/rapidez/models.php @@ -14,6 +14,7 @@ 'option_value' => Rapidez\Core\Models\OptionValue::class, 'product_image' => Rapidez\Core\Models\ProductImage::class, 'product_image_value' => Rapidez\Core\Models\ProductImageValue::class, + 'product_video_value' => Rapidez\Core\Models\ProductVideoValue::class, 'product_link' => Rapidez\Core\Models\ProductLink::class, 'product_view' => Rapidez\Core\Models\ProductView::class, 'product_option' => Rapidez\Core\Models\ProductOption::class, diff --git a/resources/js/components/Product/Images.vue b/resources/js/components/Product/Images.vue index 969ee0e6d..c6480e30f 100644 --- a/resources/js/components/Product/Images.vue +++ b/resources/js/components/Product/Images.vue @@ -4,6 +4,7 @@ import { useEventListener } from '@vueuse/core' export default { data: () => ({ images: config.product.images, + media: config.product.product_gallery, active: 0, zoomed: false, stopKeyUpListener: () => {}, @@ -22,7 +23,8 @@ export default { Object.values(window.config.product.super_attributes).filter((attribute) => attribute.update_image).length ) { self.images = simpleProduct.images - self.active = Math.min(self.active, self.images.length - 1) + self.media = simpleProduct.product_gallery + self.active = Math.min(self.active, self.media.length - 1) } }) }) @@ -44,7 +46,7 @@ export default { if (e.key == 'ArrowLeft' && this.active > 0) { // left this.active-- - } else if (e.key == 'ArrowRight' && this.active < this.images.length - 1) { + } else if (e.key == 'ArrowRight' && this.active < this.media.length - 1) { // right this.active++ } else if (e.key == 'Escape') { diff --git a/resources/views/product/partials/images.blade.php b/resources/views/product/partials/images.blade.php index c68cea708..9a18edb33 100644 --- a/resources/views/product/partials/images.blade.php +++ b/resources/views/product/partials/images.blade.php @@ -4,11 +4,15 @@ @include('rapidez::wishlist.button') @endif - @if (count($product->images)) + @if (count($product->product_gallery))
product_gallery[0]['media_type'] === 'external-video')
+ src="{{ config('rapidez.media_url').'/catalog/product'.$product->product_gallery[0]['image'] }}"
+ @else
+ src="/storage/{{ config('rapidez.store') }}/resizes/400/magento/catalog/product{{ $product->product_gallery[0]['image'] }}.webp"
+ @endif
alt="{{ $product->name }}"
width="400"
height="400"
@@ -17,54 +21,82 @@ class="m-auto max-h-[400px] w-full object-contain"
@endif