ZoomX

Альтернативный вариант использования шаблонизаторов PHP.
Версия 3.6.0-pl
Дата выпуска 21.11.2022
Загрузки 133
Просмотры 5 864
Внимание, этот компонент требует версию PHP 7.1 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.7 !
Главная идея данного компонента — полный отказ от стандартного шаблонизатора в пользу PHP шаблонизаторов. Никаких элементов в БД, многократного парсинга контента и логики в стиле сниппета IF. Теперь вся разработка в удобном IDE редакторе, плюс полноценная поддержка версионности, а также мощный функционал и огромное сообщество разработчиков. Но этим дело не ограничивается. Значительной переработке подвергся класс обработки ответа. Кроме оптимизации класса modRequest в функционал была встроена библиотека FastRoute для расширения возможностей стандартного механизма роутинга. Но в отличие от других пакетов с подобным функционалом (CustomRequest, modxFastRouter, VirtualPage), которые срабатывают на событие OnPageNotFound после того как MODX не нашёл указанного ресурса, в данном случае FastRoute запускается перед стандартным роутером MODX и имеет 3 режима работы — отключён, совместный и строгий.
Плюс компонент реализует функциональность для работы с сайтом с помощью API.

Из коробки используется шаблонизатор Smarty, поставляемый MODX. Есть планы добавить и другие PHP шаблонизаторы — Blade и Twig. Но это по возможности.

Подробности в документации.

3.6.0-pl (21.11.2022)

  • Added creation of the $_POST array from json data.
  • Fixed route parsing for JSON requests (again).

3.5.1-pl (18.11.2022)

  • Fixed route parsing for JSON requests.

3.5.0-pl (13.11.2022)

  • Added file plugins for mgr context.
  • Added support for contexts.
  • Improved the "resource" modifier.
  • Fixed plugin error during testing.
  • Fixed a bug with the route file (#18).

3.4.2-pl (06.04.2022)

  • Fixed a bug with multiple calls of the same snippet with a set of parameters.
  • Fixed a bug with empty plugin list (#6).
  • The $events property of a file plugin can be an empty array (#7).
  • Added system setting "zoomx_config_path" for ZoomX configs (#8).
  • Smarty caching is now available for resources with DB Smarty template (#12).
  • Removed private magic methods of the Service class for PHP8 compatibility (#13).

3.4.1-pl (28.01.2022)

  • Fixed the "runSnippet" and the "runFileSnippet" methods of the main service class.
  • Fixed creation of Smarty directories.
  • Fixed a bug with the controller method disappearing.
  • Fixed a bug with controller's namespace.

3.4.0-pl (24.12.2021)

  • Added support for file plugins.
  • Added modifier "markdown".
  • Added the ability to specify the caching time for snippets.
  • Added the ability to use short controller names.
  • Added short redirect format in routes.
  • Added the "OnBeforeRouteProcess" event.
  • Added the "zoomx_cache_event_map" system setting.
  • Added the "zoomx_controller_namespace" system setting.
  • Improved the function jsonx.
  • Fixed a bug in the header name Content-Type for JSON requests.
  • Refactored security functionality.

3.3.0-pl (12.11.2021)

  • Added route caching.
  • Added multiple paths for snippets.
  • Fixed a bug with unpublished resources (#3).

3.2.0-pl (09.11.2021)

  • Added modifier fuzzyDate.
  • Added modifier dateAgo.
  • Fixed a bug with the availability of the $zoomx object in templates (#1).
  • Refactored the mechanism of virtual pages (#2).

3.1.0-beta (21.10.2021)

  • Added modifier declension.
  • Added the ability to use snippets as modifiers.
  • Added the "source" parameter to the request info.

3.0.2-beta (08.10.2021)

  • Refactored the automatic content type detection.
  • Fixed the parse block for Smarty.

3.0.1-beta (04.10.2021)

  • Added missing pdoTools adapter files.

3.0.0-beta (30.09.2021)

  • Required PHP Version 7.1+.
  • Added Smarty as a default parser.
  • Added pdoTools adapter that replaces Fenom template engine with Smarty in pdoTools snippets.
  • Added support for file elements (snippets and chunks).
  • Added exception handler with trace details.
  • Added the helper function "filex" for downloading files.
  • Added the helper function "redirectx" for managing redirects.
  • Added onZoomxInit event.
  • Added the ability to extend the Service class using macros.
  • Added Smarty security support.
  • Particular virtual pages.

2.1.1-beta (01.03.2021)

  • Some bugfixes.

2.1.0-beta (26.02.2021)

  • Added "zoomx_autoload_resource" system setting which allows to disable the search and auto-loading the resource for the corresponding URI.
  • Fixed a bug when working in CLI mode.
  • Returned support of the GET parameter "q".

2.0.0-beta (03.02.2021)

  • Added API mode that supports REST architecture.
  • Added support for controllers in routes.
  • Added OnRequestError event for error codes 400, 406, 415, 503 and any custom codes.
  • Added shorthand modifiers "js", "css" and "html".
  • Added MODX like tag syntax ({'*pagetitle'}, {'%lexicon'}, {'++setting'}, {'~5'}).
  • Refactored modifiers "url" and "lexicon".
  • Renamed the system setting "zoomx_routs_mode" on "zoomx_routing_mode".

1.0.2-beta (17.11.2020)

  • Fixed bug with the path for compiled templates.
  • Added "modx" block.

1.0.1-beta (10.11.2020)

  • Allow the $modx object in templates.
  • Fixed bug with uninstalling.
  • Added 'modx' modifier.
  • Some code refactoring.

1.0.0-beta (23.10.2020)

  • Initial release.

Последние обсуждения в сообществе MODX.pro