Мы только что выпустили ExpressionEngine 2.8.0 с новыми возможностями и исправлениями.
Роутинг шаблонов
Роутинг шаблонов очень востребованная функция которая добавит ещё больше гибкости в самую гибкую CMS в мире. Роутинг очень просто настроить, он позволит гарантировать верность данных для необходимого шаблона.
Кроме того, мы сделали простые ссылки для роутинга используя тег {route=...
{route='template_group/template' variable='data'}
Тег {route=… генерирует ссылку для роутинга принадлежащего шаблону, в отличии от стандартного тега {path=… Тег {route=… может также принимать любые объявленные переменные и размещать их верно в сегментах роутинга.
Макеты шаблонов
Дни использования множества {embed} тегов обёрнутых вокруг вашего контента прошли, спасибо Макетам Шаблонов. Вместо этого, Вы можете создать один шаблон-макет:
<html>
<head>
<title>{layout:title}</title>
</head>
<body>
{layout:contents}
</body>
</html>
И потом объявить этот макет в верхней части вашего шаблона где Вы хотите использовать его:
{layout="site/.layout" title="EE Сlub"}
Контент шаблона
Контент в шаблонах будет передаваться в переменную {layout:contents} вместе с любыми другими переменными которые можно передавать в тег {layout} или использовать {layout:set}.
Драйверы кеширования
ExpressionEngine всегда имела возможность использовать кеширование в файлы для сайтов которым нужна высокая производительность. Это включало вместе кеширование шаблонов и тегов, но Вы были привязаны к файловой системе которая всё ещё похожа на узкое место. С добавлением новых кеширующих драйверов вы сможете использовать Memcached или Redis. Для сайтов, которые получают большой трафик, это может быть приемуществом:
Если на сервере установлены Memcached или Redis, и работют на стандартных портах — достаточно просто выбрать соответствующий драйвер для активации кеширования желаемым образом. Кроме того мы облегчили жизнь разработчикам дополнений, упростив доступ к кешированию:
ee()->cache->save('mydata', $data, 300);
$data = ee()->cache->get('mydata');
Относительные даты
Взгляните на Twitter, Facebook и прочие — Вы увидите относительные даты, дающие реальное понятие о том, как давно была размещена информация. Мы приняли решение добавиить эту возможность в ExpressionEngine:
{entry_date:relative stop="+1 day" format="%F %d, %Y"}
И в результате мы получаем простое для понимания:
9 hours ago
Не достаточно подробно?) Относительные даты весьма гибкие, убедиться в чём можно ознакомившись с обновлённой документацией.