Programmatic API
window.fpuListNest exposes instances, init(), refresh() and destroyAll(), e.g. to re-nest after your own CMS loading.
Nest more than 10 items and unlimited collections on a page: the multi-reference workaround for Webflow.
CMS List Nest clones items from a usually hidden source list into slots inside your target item. As many as you like, nested as deep as you like. Entirely through data-fpu-nest attributes.
Once per project is enough, even if you use the solution on several pages: Project Settings → Custom Code → Footer Code. The script loads deferred and only starts when it finds a data-fpu attribute on the page.
On the page where the nested list should appear, define the slot that receives the copies.
Select a div block inside the target item and give it these attributes. target marks the slot, refs lists the slugs to nest (comma-separated, order = render order), and collection names the source collection. collection is optional if only one source exists on the page.
Bind data-fpu-nest-refs to a CMS field (plain text holding the multi-reference slugs) so each item carries its own references.
Place an element inside the target slot that shows when no referenced items are found. When there are matches, the script removes it automatically.
Place the source list anywhere on the same page, usually hidden. Its items are cloned into the slots.
Select the collection list of the source collection and give it these attributes. After processing, the list is hidden automatically (display:none).
The collection value on the source list and the target slot must match exactly, otherwise the script won't find the source.
Give the collection item the slug it is referenced by in data-fpu-nest-refs, then bind it to the slug field via CMS.
Attributes solutions do not run in Designer, Edit or Preview mode. Publish your project and test the result on the published site, after every change.
Add this attribute on the target slot to cap the number of inserted items.
By default the source list is hidden after processing. With this attribute it stays visible, which helps while building.
Logs one line to the browser console on init, which helps while debugging.
Define global defaults in a <script> after the include. An attribute on the element always wins over the global value. Example: window.fpuListNestConfig = { limit: 6, logging: false, hideSource: true }
window.fpuListNest exposes instances, init(), refresh() and destroyAll(), e.g. to re-nest after your own CMS loading.
fpu:items-changed fires per populated target list (detail: { solution: 'nest', list }). Conversely, List Nest reacts re-render-tolerantly to events from other solutions (Load More, Filter) and refills new slots automatically.
Source items may contain slots themselves; nesting is resolved up to depth 5 (which also guards against circular references).
Source items are cloned (cloneNode), since several targets can use the same source. Webflow interactions (IX2) do not survive cloning; id attributes are carried along, so id-based anchors in source items may produce duplicates.