seiger / sgallery
Evocms package for work with Gallery for Resource in Evolution CMS and manipulate images with an expressive API
Package info
Language:HTML
Type:evolutioncms-plugin
pkg:composer/seiger/sgallery
Fund package maintenance!
Requires
- php: ^8.3
- evolution-cms/evolution: ^3.3
- spatie/image: 3.*
Requires (Dev)
None
Suggests
- seiger/stask: Optional background image optimization; requires the heartbeat API and an active runner
Provides
None
Conflicts
None
Replaces
None
README
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.
Features
- 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.
Supported formats
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 | ❌ | ✅ |
Requirements
- Evolution CMS 3.3+
- PHP 8.3+
- Composer 2.2+
- One of: MySQL 8.0+ / MariaDB 10.5+ / PostgreSQL 10+ / SQLite 3.25+
Install by artisan package installer
Go to You /core/ folder:
cd core
Run 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 migrate
Configure
Templates for displaying gallery tabs are configured in the
core/custom/config/seiger/settings/sGallery.php
file, where the array contains template IDs for connecting the gallery.
Usage in blade
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> @endforeach
or 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> @endforeach
or
@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> @endforeach
Integration into the products module
Just paste this code in your View backend
{!!sGallery::initialiseView()->viewType('section')->itemType('product')->idType('i')!!}
Background image optimization
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 · Українська · Русский
