Processwire — ЦМС/фреймворк с удобным АПИ
Процессвайр я использовал в трёх проектах. В одном из них на базе этой системы я разработал отличное АПИ для веб-приложения. Два других — типичные корпоративные сайты.
Прикол Процессвайр в исключительно удобном АПИ, написанном в духе ДжейКвери.
Она во многом напоминает МОДикс: тут есть страницы (ресурсы), к ним можно назначать шаблоны и поля (переменные, ТиВи).
Ещё, в отличие от МОДикс здесь по умолчанию нет никаких полей, кроме названия страницы и нет никаких чанков — вся логика прописывается в шаблонах, через плагины или хуки.
Основная особенность: здесь любая сущность — это страница (page), наподобие нод в Друпале. Например, пользователь здесь — это тоже страница.
Примеры использования АПИ
Текущая страница доступна в переменной $page
// Вывести название текущей страницы echo $page->get("title"); // Хлебные крошки echo "<ul>"; foreach ($page->parents as $parent) echo "<li><a href='{$parent->url}'>{$parent->title}</a></li>"; echo "</ul>"; // Вывести случайное изображение $image = $page->images->getRandom(); if ($image) echo "<img src='{$image->url}'>";
Можно обратиться к любой странице через $pages
// Вывести заголовок нужной страницы echo $pages->get("/shop/category/product1/")->title; // Найти все телефоны, выпущенные после 2014 года с размером экрана больше 4" и отсортировать по производителю $phones = $pages->find("template=phones, year>2014, screen>=4, sort=-vendor");
Здесь есть хуки, кэширование, удобная поддержка языков, темы для админки, система плагинов и добрейшее комьюнити. Систему активно разрабатывают в соответствии с роадмапами.
Если вы устали от МОДикс и ищите что-то новое, то вам обязательно нужно попробовать Процессвайр.