ImageCache
Вспомогательный класс, который делает копии изображений заданного размера, что бы гарантировать что изображение которое загрузит пользователь будет соответствовать необходимым размерам.
Как пользоваться :
{!! ImageCache::get($file, ['w' => 300, 'h' => 200, 'fit' => 'crop']) !!}
Где,
$file - объект типа App\Models\Adfm\File
'w' => ширина фото,
'h' => высота фото,
'fit' => тип обрезки изображения, доступные значения :
Значение crop это то же самое что и crop-centercrop-top-left
, crop-top
, crop-top-right
, crop-left
, crop-center
, crop-right
, crop-bottom-left
, crop-bottom
crop-bottom-right
Данное объявление вернет тег <img> с адресом на обрезанную картинку. Для картинки можно задать следующие атрибуты title, alt, class, id с помощью соответсвующих методов :
{!! ImageCache::get($file, ['w' => 300, 'h' => 200, 'fit' => 'crop'])->title('заголовок') !!}
{!! ImageCache::get($file, ['w' => 300, 'h' => 200, 'fit' => 'crop'])->alt('альтернативная подпись') !!}
{!! ImageCache::get($file, ['w' => 300, 'h' => 200, 'fit' => 'crop'])->className('img-fluid') !!}
{!! ImageCache::get($file, ['w' => 300, 'h' => 200, 'fit' => 'crop'])->id('logo') !!}
Примеры из реальной жизни :
Выводим товары на странице категории
@foreach($products as $product)
<div class="col col-6 col-md-4 card">
@if($product->images[0])
{!! ImageCache::get($product->images[0], ['w' => 265, 'h' => 265, 'fit' => 'crop']) !!}
@endif
<div class="title">{{$product->title}}</div>
<div class="price">{{$product->price}} ₽</div>
</div>
@endforeach
на строке 3 проверяем, есть ли у товара хотя бы одно изображение, если да, то показываем обрезанную копию.
Нет комментариев