netlogix/esi-rendering
composer require netlogix/esi-rendering
Render content in fusion as esi:include
1.3.0
- Requires
- neos/neos: ^5.3 || ^7.3 || ^8.0
- Suggest
- flowpack/varnish: For Varnish support including caching ESIs individually with their own lifetime
Netlogix.EsiRendering
This package provides a simple way to render edge side includes in Neos. This alows you to individually cache parts of the page (e.g. header/footer).
We recommend using this package together with flowpack/varnish for Varnish integration.
Install package
composer require netlogix/esi-rendering
Usage
To render a fusion path as ESI, you can use the Netlogix.EsiRendering:RenderAsEsi
Fusion implementation:
renderer = afx`
<p>This is rendered outside of the esi</p>
<Netlogix.EsiRendering:RenderAsEsi node={props.site} cacheIdentifier="my-esi">
<p>This is rendered inside of the esi</p>
<p>The given node is available as {node}</p>
</Netlogix.EsiRendering:RenderAsEsi>
`
This will render a <esi:include src="https://raw.githubusercontent.com/netlogix/Netlogix.EsiRendering/master/...">
tag after the first <p>
.
ESIs are not used in the Neos backend, instead the content will be rendered directly.
Debugging
To get the ESI uri, you can set the following setting to true
:
Netlogix:
EsiRendering:
debug: true
This will render a link
before the ESI:
<link rel="esi:include" esi-identifier="my-esi" context-node="/sites/my-site@live" href="/esirendering?fusionPath=...">
This is enabled by default for the Development context.