Skip to main content

CMS: support different layouts/blocks per item, not one shared template for the whole collection

  • July 18, 2026
  • 2 replies
  • 24 views

Marcos da Silva Ribeiro

I'm building a blog with Figma Sites CMS, and articles vary a lot in how many images they use, some have 1, others 5+, in different arrangements. Right now a CMS Page is one shared template for the whole collection, so every article renders with the same fixed layout. If an Image field is left empty, it just becomes a transparent fill, the layout doesn't collapse, so I end up with blank gaps instead of a clean design.

Figma Sites already ships a big library of pre-built blocks with different image/text combinations (Insert > Blocks), which is exactly what a blog like mine needs. There's just no way for the CMS to pick a different block per item based on how much content that item actually has.

Two things that would fix this for my use case:
1. Conditional visibility tied to whether a CMS field is empty, so an unused image slot collapses cleanly instead of leaving dead space (similar to "Is Set" / "Is Not Set" conditions in Webflow or Framer).
2. The ability to swap which component/block is connected per CMS item, so different articles can use different pre-built layouts depending on their content.

There's already a related thread asking for component swapping inside CMS (Nov 2025): forum.figma.com/suggest-a-feature-11/figma-sites-cms-feature-requests-47608
Adding my specific case here since it's about variable image counts per post, a common need for any blog or portfolio.

2 replies

DavidBaker
  • New Member
  • July 19, 2026

I completely agree with this. A shared template works well when every entry has the same structure, but blogs and portfolios rarely do. Some posts are text-heavy, others rely on galleries or large feature images, so forcing them into one layout creates unnecessary compromises. Conditional visibility alone would solve a lot of these issues by removing empty placeholders instead of leaving awkward gaps. The ability to choose between a few predefined layouts on a per-item basis would make the CMS much more flexible without making it overly complicated. It feels like a natural next step for anyone building content-driven websites.


DavidBaker
  • New Member
  • July 20, 2026

I completely agree with this. A shared template works well when every entry has the same structure, but blogs and portfolios rarely do. Some posts are text-heavy, others rely on galleries or large feature images, so forcing them into one layout creates unnecessary compromises. Conditional visibility alone would solve a lot of these issues by removing empty placeholders instead of leaving awkward gaps. Creating impressive digital images no longer takes hours. AI produces stunning results almost instantly. Every picture AI image generation on Joi looks highly refined. The ability to choose between a few predefined layouts on a per-item basis would make the CMS much more flexible without making it overly complicated. It feels like a natural next step for anyone building content-driven websites.

Another advantage would be better content management over time. Right now, if you decide to publish a special article with a different visual structure, your only real option is to build it outside the CMS or create workarounds that become difficult to maintain. That starts to defeat the purpose of having a CMS in the first place. Even something as simple as a layout selector field with a handful of predefined templates would cover most real-world use cases. Designers would still have control over consistency, while editors could choose the presentation that best fits each piece of content without touching the design itself. That would make Figma Sites much more practical for larger content-driven projects.