From c712fa07ba16e0ac5721cd116adad8d17b011e5f Mon Sep 17 00:00:00 2001 From: Mekan1206 Date: Wed, 18 Feb 2026 04:06:40 +0500 Subject: [PATCH] WIP --- .../Product/Product/Concerns/ProductMedia.php | 41 +++++++++---------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/app/Models/Ecommerce/Product/Product/Concerns/ProductMedia.php b/app/Models/Ecommerce/Product/Product/Concerns/ProductMedia.php index 44b7c1d..1d88468 100644 --- a/app/Models/Ecommerce/Product/Product/Concerns/ProductMedia.php +++ b/app/Models/Ecommerce/Product/Product/Concerns/ProductMedia.php @@ -2,9 +2,9 @@ namespace App\Models\Ecommerce\Product\Product\Concerns; +use Illuminate\Support\Str; use Spatie\Image\Manipulations; use Spatie\MediaLibrary\MediaCollections\Models\Media; -use Illuminate\Support\Str; trait ProductMedia { @@ -14,8 +14,7 @@ trait ProductMedia public function registerMediaCollections(): void { $this->addMediaCollection('uploads') - ->useFallbackUrl(url('/assets/web/images/05.jpg')) - ->usingFileName(Str::random(12) . '.' . $this->getClientOriginalExtension()); + ->useFallbackUrl(url('/assets/web/images/05.jpg')); } /** @@ -23,26 +22,24 @@ trait ProductMedia */ public function registerMediaConversions(?Media $media = null): void { - $this->addMediaConversion('thumb200x200') - ->fit(Manipulations::FIT_CONTAIN, 200, 200); + $conversions = [ + 'thumb200x200' => [200, 200], + 'thumb400x400' => [400, 400], + 'thumb720x720' => [720, 720], + 'thumb800x800' => [800, 800], + 'thumb1200x1200' => [1200, 1200], + 'thumb288x431' => [288, 431], + 'thumb270x350' => [270, 350], + ]; - $this->addMediaConversion('thumb400x400') - ->fit(Manipulations::FIT_CONTAIN, 400, 400); - - $this->addMediaConversion('thumb720x720') - ->fit(Manipulations::FIT_CONTAIN, 720, 720); - - $this->addMediaConversion('thumb800x800') - ->fit(Manipulations::FIT_CONTAIN, 800, 800); - - $this->addMediaConversion('thumb1200x1200') - ->fit(Manipulations::FIT_CONTAIN, 1200, 1200); - - $this->addMediaConversion('thumb288x431') - ->fit(Manipulations::FIT_CONTAIN, 288, 431); - - $this->addMediaConversion('thumb270x350') - ->fit(Manipulations::FIT_CONTAIN, 270, 350); + foreach ($conversions as $name => [$width, $height]) { + $this->addMediaConversion($name) + ->fit(Manipulations::FIT_CONTAIN, $width, $height) + ->useFileName(function (Media $media) use ($name) { + // generate short random name for the conversion + return Str::random(12) . '--' . $name . '.' . $media->getClientOriginalExtension(); + }); + } } /**