DashForDevsDocs
DocsNewsAPI v1
dashfordevs.comSign in

© 2026 DashForDevs

DocsNewsdashfordevs.comLegalStatus
DocsPage TypesRendering Pages
Introduction
Getting Started
Authentication
Products
Categories
Cart
Checkout
Blog
Reviews
Webhooks
Customers
Orders
Inventory
Shipping
Discounts
Affiliates
Email
Media & Files
Analytics & Tracking
Locations
Tax
Global Data
SEO
Error Handling
Geography
Finance
Automations
Page Types
Creating Page TypesPage ItemsRendering PagesPage Groups & Named Images
Surveys
Billing & Subscriptions
Storefront Payments
SDK Reference
REST API
Storefront Architecture
Notifications
Security
Team & Permissions
Migrations & Import
Calendar & Appointments
Contact Forms
AI Bots
Dashboard API
Deployment
Changelog
Troubleshooting
Recipes
CLI & Deployment
Image Pipeline
White-label Platforms
Records Engine
Platform Modules
Platform Security
Site Keys & Client Sites
Use Cases
Operations

Rendering Pages

Fetch and display dynamic pages on your storefront.

Updated March 29, 2026

On this page
  • Overview
  • Dynamic Pages
  • Content Type Listing
  • Page Builder Data
  • Next Steps

Overview

Render content type items on your storefront using the SDK and your own components.

Dynamic Pages

typescript
// app/[...slug]/page.tsx
import dash from "@/lib/dash"

export default async function DynamicPage({ params }) {
  const path = "/" + params.slug.join("/")
  const page = await dash.pages.getByPath(path)

  if (!page) return <div>Page not found</div>

  return (
    <div>
      <h1>{page.page.title}</h1>
      <div dangerouslySetInnerHTML={{ __html: page.page.content }} />
    </div>
  )
}

Content Type Listing

typescript
// app/team/page.tsx
import dash from "@/lib/dash"

export default async function TeamPage() {
  const { items } = await dash.contentTypes.listItems("team-members")

  return (
    <div className="grid md:grid-cols-3 gap-6">
      {items.map(member => (
        <div key={member.slug} className="text-center">
          <img src={member.fields?.photo} alt={member.title} className="rounded-full" />
          <h3>{member.title}</h3>
          <p>{member.fields?.role}</p>
        </div>
      ))}
    </div>
  )
}

Page Builder Data

typescript
// Fetch page data by name
const page = await dash.pages.getByName("about-us")

// Fetch page data by path
const page = await dash.pages.getByPath("/about")

// List all pages
const { pages } = await dash.pages.list()

Next Steps

  • Creating Page Types — Define content types
  • getGlobalData() — Store-wide layout data
PreviousPage ItemsNextValidate &amp; Submit

On this page

  • Overview
  • Dynamic Pages
  • Content Type Listing
  • Page Builder Data
  • Next Steps