Как стать автором
Обновить

Бесплатные CMS для структурированных данных. Существуют?

Время на прочтение2 мин
Количество просмотров1.4K
А существуют ли среди бесплатных CMS такие, что позволяют создавать свои сложные типы данных, имеющие множество полей разных типов, и удобно ими оперировать?
Мой опыт далее.

Задача


Задавшись целью создать небольшой тематический портал, я спроектировал его модель и разделил все данные на несколько связанных между собой сущностей. Каждая из сущностей имеет несколько полей различных типов: текст, значение из списка, картинка, прикрепленный файл, дата, ссылка, ссылка на элемент того же или другого типа. Поля могут быть множественными. Такая структура позволяет удобно фильтровать данные и связывать их между собой.
Также было необходимо создать шаблоны для страниц списков, детальных страниц, блоков связанных элементов и блока фильтрации/сортировки для страниц списков.

Сформулировав эти свои потребности, я решил поискать CMS, подходящую для работы с такими данными. Упреждая вопрос «почему не написал сайт на фреймворке %крутой_известный_фреймворк%?» — потому что написание удобного backend`а для таких структур данных — занятие трудоемкое и непростое.

Что нужно было от CMS


  • Работа на PHP5 и MySQL 5;
  • Удобный интерфейс для создания собственных типов данных с разнообразными полями;
  • Широкий выбор полей различных типов. Даты, файлы, изображения, ссылки, привязки к другим элементам;
  • Возможность создавать шаблоны вручную с помощью html+css+js, используя в них плэйсхолдеры для подстановки данных из полей;
  • Задание отборов/сортировок по созданным полям данных;

Подбор


Я просмотрел большинство популярных бесплатных CMS на PHP: Drupal, Joomla, CMS Made Simple, MODx, DataLife Engine. Ни одна из них не удовлетворяла требованиям полностью. Как выяснилось, большинство из них в базовой комплектации вообще не дают возможности добавить собственные поля различным типам материалов и как-то работать с ними.

Ближе всех был, пожалуй, Drupal. В нем по крайней мере была поддержка пользовательских полей и возможность создавать собственные представления(views) со сложными условиями отбора/сортировки по ним (для этого правда пришлось собрать целый пакет модулей, CCK+Views+поля CCK).

Но даже тут было много неприятных моментов. Например, для поддержки различных типов полей пришлось качать много отдельных модулей. Почему весь этот функционал не был реализован непосредственно в CCK — для меня загадка. Также я пока не разобрался, можно ли редактировать шаблоны вручную, а не из административного интерфейса. Справка по Views утверждает что шаблоны типа normal хранятся в базе, а значит это вряд ли удастся.

Резюмируя


Ничего лучшего чем Drupal я пока не нашел, хоть мой прошлый отзыв о нем и был весьма нелестным. Может быть кому-то приходилось решать подобные задачи, и вы знаете удобные CMS для работы с такими структурами данных?
Теги:
Хабы:
+5
Комментарии27

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн