Changelog

История версий платформы ipd.by — это реестр всех изменений сайта: новые разделы и страницы, дизайн и типографика, миграция с Smarty на Laravel, инфраструктура и производительность. Каждая версия — отдельная страница.

Текущая версия v4.29.18 177 версий в истории
Стек платформы
Laravel MySQL PHP Blade CSS / SCSS VDS Cloudflare SSL / DNS
История миграции Smarty → Laravel и развития сервиса в одной ленте.
177 Версий в истории
158 Крупных (major)
19 Точечных (patch)
4.29.18 Текущая
v4.29.18 Текущая 04.09.2026 major

Восстановлена и реализована автоматическая фотогалерея портфолио из папки /images/page/portfolio/!pdf/ (~1200 фотографий, 198 каталогов). Создан сервис App\Services\PortfolioPdfGallery: сканирует папки !pdf рекурсивно, по URL категории/подкатегории подбирает соответствующий каталог и отдаёт все фото. Галерея с lightbox (GLightbox) автоматически выводится на страницах /portfolio/{category} (сборная из всех подкаталогов) и /portfolio/{category}/{subcategory} (фото конкретной подпапки) с lazy loading и кешированием списков на 24 часа. Версия платформы повышена до 4.29.18.

Что сделано

  • Сервис PortfolioPdfGallery — Создан класс App\Services\PortfolioPdfGallery: маппинг URL категорий портфолио на каталоги !pdf (sites→2-sites, video→3-video, design→4-design, it→7-it, marketing→1-marketing и др.), подкатегорий — на подпапки по числовому префиксу. Рекурсивный сбор .webp независимо от глубины вложенности.
  • Автоматическая галерея категории — На странице /portfolio/{category} выводится сборная галерея всех фото из каталога категории (сборка из всех подпапок). Пример: design — 489 фото, sites — 95, marketing — 122, video — 155.
  • Автоматическая галерея подкатегории — На странице /portfolio/{category}/{subcategory} выводятся все фото конкретной подпапки (например design/graphic — 340, it/calculator — 13, sites/vizitka — 12).
  • Интеграция с lightbox — Галерея использует существующую библиотеку GLightbox: фото открываются в полноэкранном просмотре с листанием. Добавлено lazy loading для производительности.
  • Производительность — Списки фото кешируются на 24 часа (Laravel Cache, file-драйвер), чтобы не сканировать ~1200 файлов при каждом запросе.

Проверка

  • HTTP-статусы — Все страницы портфолио отдают 200: /portfolio/sites, /portfolio/design, /portfolio/sites/corporate, /portfolio/design/graphic, /portfolio/it/calculator и др.
  • Счётчики фото — Количество ссылок lightbox на страницах совпадает с реальным числом webp в папках: design=489, sites=95, design/graphic=340, it/calculator=13.
  • Пустые категории — Категории без папки !pdf (foto, engineering) корректно скрывают галерею (0 фото, блок не выводится).