sGallery emerges as a versatile and indispensable plugin tailor-made for Evolution CMS, revolutionizing the way you manage media assets within your website. Specifically designed for the Evolution CMS admin panel, this dynamic plugin introduces a host of powerful features to elevate your content presentation.
sGallery stands as a testament to Evolution CMS's commitment to robust and user-friendly content management. Whether you are a content creator or an administrator, this plugin empowers you to curate a visually stunning and engaging website with unparalleled ease. Elevate your media management experience with sGallery today.
- Image and Video Attachment.
- Effortless Media Upload.
- YouTube Integration.
- Sortable Positions.
- Text Fields for File Management.
- Image Resize and AVIF or WEBP Conversion.
- Default image optimization with optional sharpening controls.
- Integration with Custom Modules.
- sLang Integration.
- More than one tab.
- Full Image slider in Admin panel.
The following image formats are tested and supported by the package. If your GD/Imagick installation supports a format that is not listed you are probably fine to use it but your mileage may vary.
| Format | GD | Imagick |
|---|---|---|
| jpeg | ✅ | ✅ |
| png | ✅ | ✅ |
| gif | ✅ | ✅ |
| webp | ✅ | ✅ |
| avif | ✅ | ✅ |
| heic | ❌ | ✅ |
| tiff | ❌ | ✅ |
- Evolution CMS 3.3+
- PHP 8.3+
- Composer 2.2+
- One of: MySQL 8.0+ / MariaDB 10.5+ / PostgreSQL 10+ / SQLite 3.25+
spatie/image is optional. Without it, the gallery serves original files. Calls to
resize, fit, crop, convert, optimize or watermark images safely return the original
URL, and background image optimization is unavailable. Missing files still use the
normal placeholder. Gallery uploads, collections and settings remain available.
To enable image transformations, install version 3 from the site's core/ directory:
composer require spatie/image:^3The gallery itself does not require EXIF. If you choose to install spatie/image
without EXIF, its Composer requirement needs an explicit opt-out:
composer require spatie/image:^3 --ignore-platform-req=ext-exifInclude that flag in subsequent Composer install/update commands on that server. With GD, automatic camera-photo rotation requires EXIF; without it, transformations preserve stored pixel orientation.
Go to You /core/ folder:
cd coreRun php artisan command
php artisan package:installrequire seiger/sgallery "*"Generate the config file in ../core/custom/config/seiger/settings with name sgallery.php the file should return a comma-separated list of templates.
php artisan vendor:publish --provider="Seiger\sGallery\sGalleryServiceProvider"Run make DB structure with command:
php artisan migrateTemplates for displaying gallery tabs are configured in the
core/custom/config/seiger/settings/sGallery.phpfile, where the array contains template IDs for connecting the gallery.
Sow all files with Image filter:
@foreach(sGallery::collections()->mediaType('image')->get() as $item)
<a class="swiper-slide" @if(trim($item->link))href="{{$item->link}}"@endif>
<div class="container">
<img loading="lazy" class="intro__img" src="{{$item->src}}" alt="{{$item->alt}}" width="1440" height="456">
<div class="intro__inner">
<div class="h1__title">{{$item->title}}</div>
<p class="intro__text">{{$item->description}}</p>
@if(trim($item->link_text))<div class="btn background__mod">{{$item->link_text}}</div>@endif
</div>
</div>
</a>
@endforeachor YouTube filter
@foreach(sGallery::collections()->mediaType('youtube')->get() as $item)
<div class="item">
<div class="video">
<iframe width="560" height="315" src="https://www.youtube.com/embed/{{$item->file}}" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>{{$item->title}}</p>
</div>
@endforeachor
@foreach(sGallery::collections()->documentId($product->id)->itemType('product')->get() as $item)
<div class="swiper-slide">
<a class="js-trigger-fancybox" href="{{$item->src}}" data-fancybox="product-gallery">
<img loading="lazy" src="{{$item->src}}" width="440" height="440" />
</a>
</div>
@endforeachJust paste this code in your View backend
{!!sGallery::initialiseView()->viewType('section')->itemType('product')->idType('i')!!}Slow transformations can be processed by the optional sTask ImageOptimizationWorker, while the frontend temporarily serves the original. See background image optimization for requirements, timing limits and recovery behavior.
Documentation: English · Українська · Русский
