Skip to content

Lazily load any content on your Neos site

License

Notifications You must be signed in to change notification settings

mindscreen/Psmb.Ajaxify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Psmb.Ajaxify

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

About

Lazily load any content on your Neos site

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 51.8%
  • CSS 25.6%
  • JavaScript 22.6%