Webflow’s native CMS does not support dynamic lists of an unspecified number of images within a single CMS item. Therefore, you cannot natively load a variable number of images (e.g., for a slider) from the CMS without workarounds.
1. Native CMS Image Field Limitations
- Each CMS Collection item can have multiple Image fields, but each field can store only one image.
- You can add multiple Image fields (up to the per-collection limit of 30 custom fields), but this requires knowing in advance how many images will be used.
- There's no field type that allows uploading a dynamic array or gallery of images.
2. Why Rich Text and Conditional Visibility Are Workarounds
- Using a Rich Text field to embed multiple images is a workaround because it lacks layout control and doesn’t integrate cleanly with sliders.
- Conditional visibility based on image field existence is another workaround to deal with multiple static fields, which becomes inefficient and hard to manage over time.
3. Custom Code or External Sources Are Needed
To display an unspecified number of images from the CMS dynamically:
- Option A: Use Multi-Image Field via Reference
- Create a separate Gallery collection with multiple items, each containing one image.
- In your main collection (e.g., Projects), add a Multi-reference field to link to the Gallery items.
- On the front end, use a Collection List bound to the referenced images to generate a slider.
- Note: This setup still requires managing relationships manually.
- Option B: Use Custom JavaScript to Combine Images
- Fetch images via Webflow CMS API and dynamically generate the slider using JavaScript.
- Requires exporting the Webflow site or adding custom script inside Webflow.
- Option C: Third-Party Integrations
- Use tools like Finsweet’s CMS Library or other Webflow CMS plugins to render a dynamic, CMS-connected slider using a multi-reference workaround.
Summary
Webflow does not support loading an unspecified number of images natively within one CMS item. To achieve this, set up a multi-reference collection for related images or use custom code/plugins to dynamically render them.