Page blocksContent
Content Columns
A two-column content section pairing a heading with body paragraphs and a CTA.
v0.1.0Page blockContent familyContent section
Installation
npx payload-components add content-columnsWhat it installs
Copies 3 source files into your project:
src/blocks/shared/contentFields.tssharedsrc/blocks/ContentColumns/config.tssrc/blocks/ContentColumns/Component.tsx
…and makes 4 edits to wire the block into your project:
| Registers the block | src/collections/Pages/index.ts |
| Maps the renderer | src/blocks/RenderBlocks.tsx |
| Regenerates types | src/payload-types.ts |
| Regenerates the admin import map | src/app/(payload)/admin/importMap.js |
Registers the block
src/collections/Pages/index.tsMaps the renderer
src/blocks/RenderBlocks.tsxRegenerates types
src/payload-types.tsRegenerates the admin import map
src/app/(payload)/admin/importMap.jscontentFields.ts is the shared field core for this family — every variant composes it. Editing it updates each installed block at once, and re-running an install never overwrites a copy you have changed.Re-running the install converges: it detects existing wiring, skips it, and records install state in .payload-components/state.json.
Content model
The eyebrow, title, and paragraphs fields come from the shared Content family base
(src/blocks/shared/contentFields.ts); the CTA links are specific to this variant.
Prop
Type
Each item in paragraphs carries:
Prop
Type
Usage
Add the block to a page. In the Payload admin, open (or create) a Page and add the
ContentColumns block to its layout.Fill the content. Complete the fields from the content model above — the component ships sample content you can start from.
Publish. Save and publish the page; the block renders through
RenderBlocks on the frontend, fully typed — no extra wiring.Requirements
- Target
- payload-website-starter, payload-blocks-app
- Payload
- v3
- Next.js
- 15 / 16
- shadcn UI
- badge
Your project must already expose components.json, src/payload.config.ts — the surfaces payload-components add patches. The CLI verifies this against the support matrix before touching anything.
In this family
content-showcasecontent-image-leadcontent-feature-splitcontent-feature-mediacontent-image-framecontent-split-rowscontent-rowscontent-statscontent-quotecontent-communitycontent-columnscurrentcontent-listcontent-list-columnscontent-list-icons