Сайт с минииграми на Grav CMS

Попробовал в действии CMS Grav

Краткое резюме

Ссылка на живой проект
https://jackbox-partypack.com/
CMS
Grav
Время выполнения
24 часа

Давно хотел попробовать на вкус Grav CMS. И вот свершилось – попался подходящий для этого проект.

Вкртаце в чем суть

Грав это такая же система управления контентом (как Wordpress), но для хранения не используется база данных. Страницы хранятся в виде папок и файлов. Отсюда и название flat-file. Довольно специфичная штука, и для крупного проекта с большим количеством выборок данных вряд ли хороший выбор. Зато для небольших визиток, мини каталогов и даже лендосевичей - то что доктор прописал.

В чем преимущество?

В скорости. Сайты получаются просто реактивными. Например, пейджспид этого проекта выглядит вот так:

Jackbox pagespeed 92/97

Google PageSpeed

Да, конечно это с кэшированием, да на продакшне. Но, тем не менее, это круто, согласитесь.

Тонкости и нюансы

Не обошлось и без трудностей. Одна из них – работа с категориями. Категории в этой системке – просто «фильтры», без привычных отдельных страниц как в вордпресс. Для целей этого сайта стандартный функционал тегов и рубрик оказался неюзабелен, и пришлось дописывать свой. Благо это не сложно.

Также в Grav не очень удобно делать динамические выборки. Суть в том, что в реляционной бд можно сразу получить нужную выборку данных по запросу. Здесь же – все объекты подгружаются в память, а затем их нужно фильтровать. Это неудобно когда нужно организовать сохранение списка пользовательских игр к примеру.

Результат

Все требования и пожелания удалось реализовать. Устроило даже редакторов (вангую - изначально им не очень хотелось иметь дело с новой админкой). Но под капотом все интуитивно понятно и несложно.

Поделиться: