psmb/ajaxify

Lazily load any content on your Neos site

Installs: 4 562

Dependents: 0

Suggesters: 0

Security: 0

Stars: 13

Watchers: 3

Forks: 5

Open Issues: 1

Type:neos-package

0.5 2020-06-03 11:51 UTC

This package is auto-updated.

Last update: 2021-12-31 00:22:24 UTC


README

This package allows you to mark any part of page for asynchronous loading via AJAX with just one line of Fusion code. Why? It helps you to speed up initial page load by delaying the load of some less relevant parts of the page, e.g. comments.

demo

TL;DR

  1. Install the package
composer require psmb/ajaxify
  1. Add @process.myUniqueKey = Psmb.Ajaxify:Ajaxify on any Fusion path. The myUniqueKey key of the processor MUST be globally unique.

  2. Add this anywhere in your Fusion code to include the sample AJAX loading script:

prototype(Neos.Neos:Page).head.ajaxLoader = Psmb.Ajaxify:CssTag
prototype(Neos.Neos:Page).body.javascripts.ajax = Psmb.Ajaxify:JsTag

Or include these assets via your build tool. Or just write your own loader.

  1. Done. Now part of your pages will be lazily loaded via an AJAX request.

Note: the Fusion component should not depend on any context variables, other than the standard ones. If you want to reuse some EEL expression in your code base, don't put it into context, rather wrap it into Neos.Fusion:Value object and use it everywhere you like.

  1. You may override the Psmb.Ajaxify:Loader object in order to customize the loader.

Usage in the Wild