qmedia-by / helpers
Shared helpers for Evolution CMS 3 projects
v0.0.3
2026-08-18 11:51 UTC
Requires
- php: ^8.2
- illuminate/cache: ^8.0
- illuminate/pagination: ^8.0
- illuminate/support: ^8.0
- league/glide: ^1.7 || 1.x-dev
- nesbot/carbon: ^2.0
Suggests
- ext-gd: Required for Glide when Imagick is not available
- ext-imagick: Preferred image driver for Glide
README
Хелперы для проектов на Evolution CMS 3.
Пакет рассчитан на установку через Composer в core/ проекта.
Требования
- PHP 8.2+
- Evolution CMS 3 (Illuminate 8)
- Для
ThumbHelper/GlideHelper: расширениеimagickилиgd - Для
ListerHelper: сниппет DocLister - Для
BuilderHelper: сниппет PageBuilder - Для
ThumbHelperсthumbs.engine = phpthumb: сниппет phpthumb
Установка
composer require qmedia-by/helpers
Composer сам поставит зависимости пакета (league/glide и связанные библиотеки). Дефолтный конфиг из пакета мержится автоматически.
Публиковать конфиг нужно только если хотите переопределить значения в проекте:
php artisan vendor:publish --provider="QmediaBy\\Helpers\\HelpersServiceProvider" --tag=helpers-config
Использование
use QmediaBy\Helpers\ThumbHelper; use QmediaBy\Helpers\ListerHelper; use QmediaBy\Helpers\FunctionsHelper; use QmediaBy\Helpers\MultiFieldsHelper; use QmediaBy\Helpers\CacheHelper; use QmediaBy\Helpers\UTMHelper; use QmediaBy\Helpers\BuilderHelper; ThumbHelper::make('assets/images/photo.jpg', 'w=400,h=300,zc=1,f=webp,q=80'); $items = ListerHelper::run([ 'parents' => 10, 'display' => 12, ])->toArray(); FunctionsHelper::url(12, true); MultiFieldsHelper::toCollection($tvValue); CacheHelper::getWithCallback(CacheHelper::createKey('block', $id), fn () => $payload); UTMHelper::set();
Кастомная обработка блоков PageBuilder:
use QmediaBy\Helpers\BuilderHelper; use QmediaBy\Helpers\Contracts\ItemTransformerInterface; $blocks = BuilderHelper::run(['docid' => 12]) ->withTransformer('hero', new class implements ItemTransformerInterface { public function transform(array &$item): void { $item['title'] = trim((string) ($item['title'] ?? '')); } }) ->toArray();
Конфиг
После публикации файл helpers.php можно править в конфиге проекта.
| Ключ | Назначение | По умолчанию |
|---|---|---|
noimage |
Заглушка, если исходного файла нет | theme/images/noimage.png |
thumbs.engine |
glide или phpthumb |
glide |
glide.driver |
imagick, gd или null (авто) |
null |
glide.cache |
Каталог кэша превью относительно public | assets/cache/thumbs |
cache.client_key |
Суффикс ключей кэша | evo()->config['client_cache_key'] |
Классы
ThumbHelper— превью через Glide или phpthumbGlideHelper/GlideAdapter— генерация изображений и маппинг параметров phpthumbListerHelper— DocLister в API-режиме, опционально с пагинацией LaravelBuilderHelper— PageBuilder в массив + трансформеры блоковMultiFieldsHelper— разбор MultiTV/MultiFields JSONFunctionsHelper— URL документа и русские названия месяцевCacheHelper— ключи и чтение/запись с учётомenable_cacheUTMHelper— сохранение UTM-меток в сессию