This commit is contained in:
Mekan1206
2026-02-18 04:06:40 +05:00
parent f011da72d9
commit c712fa07ba

View File

@@ -2,9 +2,9 @@
namespace App\Models\Ecommerce\Product\Product\Concerns; namespace App\Models\Ecommerce\Product\Product\Concerns;
use Illuminate\Support\Str;
use Spatie\Image\Manipulations; use Spatie\Image\Manipulations;
use Spatie\MediaLibrary\MediaCollections\Models\Media; use Spatie\MediaLibrary\MediaCollections\Models\Media;
use Illuminate\Support\Str;
trait ProductMedia trait ProductMedia
{ {
@@ -14,8 +14,7 @@ trait ProductMedia
public function registerMediaCollections(): void public function registerMediaCollections(): void
{ {
$this->addMediaCollection('uploads') $this->addMediaCollection('uploads')
->useFallbackUrl(url('/assets/web/images/05.jpg')) ->useFallbackUrl(url('/assets/web/images/05.jpg'));
->usingFileName(Str::random(12) . '.' . $this->getClientOriginalExtension());
} }
/** /**
@@ -23,26 +22,24 @@ trait ProductMedia
*/ */
public function registerMediaConversions(?Media $media = null): void public function registerMediaConversions(?Media $media = null): void
{ {
$this->addMediaConversion('thumb200x200') $conversions = [
->fit(Manipulations::FIT_CONTAIN, 200, 200); 'thumb200x200' => [200, 200],
'thumb400x400' => [400, 400],
'thumb720x720' => [720, 720],
'thumb800x800' => [800, 800],
'thumb1200x1200' => [1200, 1200],
'thumb288x431' => [288, 431],
'thumb270x350' => [270, 350],
];
$this->addMediaConversion('thumb400x400') foreach ($conversions as $name => [$width, $height]) {
->fit(Manipulations::FIT_CONTAIN, 400, 400); $this->addMediaConversion($name)
->fit(Manipulations::FIT_CONTAIN, $width, $height)
$this->addMediaConversion('thumb720x720') ->useFileName(function (Media $media) use ($name) {
->fit(Manipulations::FIT_CONTAIN, 720, 720); // generate short random name for the conversion
return Str::random(12) . '--' . $name . '.' . $media->getClientOriginalExtension();
$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);
} }
/** /**