Trusted by modern launch teams

Skip to main content
DevAssistant Docs
Browse documentation
Content8 min read

CMS & dynamic pages

Create structured content, publish entries, and use one page layout for a collection of articles or projects.

Where to find it

  1. Editor
  2. CMS
  3. Open CMS workspace

In this guide

A collection with a field and a saved entry, plus a clear path to binding it into a dynamic page.

Before you start: Open a site with CMS permission. Decide what kind of content repeats, such as journal posts, team members, or case studies.

On this page

Create a collection and its fields

A collection defines a type of content. Its fields describe the information each entry holds. In this example, Journal has a required Title field.

Configure a collection field before adding content.
  1. 1Field label. The name shown when editing an entry.
  2. 2Field type. Choose the kind of value this field accepts.
  3. 3Required. Require a value before publishing an entry.

Configure a collection field before adding content.

  1. 1

    Open the CMS workspace

    In the editor’s CMS panel, choose Open CMS workspace. You can also open CMS from the dashboard’s Project areas list.

  2. 2

    Create the collection

    Under New collection, enter Journal as the name and journal as its key. Choose Create collection.

  3. 3

    Add a field

    Under Add field, set Field label to Title, the key to title, and the type to plainText. Enable Required, then choose Add field.

    You should see: Title appears under Manage fields and becomes available on new entries.

ContentSuggested field type
A heading or short labelplainText
A longer descriptionlongText or richText
A date, number, or yes/no valuedate, number, or boolean
An image or attachmentimage or file
A link to another entryreference or multiReference

Create and publish an entry

An entry has its own slug and values. Saving a draft lets you return to incomplete content; publishing checks the required fields and references.

A sample Journal entry, ready to save as a draft.
  1. 1Entry slug. Use a readable, stable identifier for this entry.
  2. 2Required content. Complete the fields required for publication.
  3. 3Draft or published. Choose the lifecycle action that matches your progress.

A sample Journal entry, ready to save as a draft.

  1. 1

    Choose New entry

    Open the collection and choose New entry.

  2. 2

    Fill the content

    Set Slug to planning-a-website and enter the Title. Complete any other fields your collection requires.

  3. 3

    Save or publish

    Choose Save draft while working, or Publish item when the content is complete. Use Schedule publish and Schedule item publish if you want to schedule its publication.

    You should see: The entry is listed in the collection with its saved lifecycle status.

Connect a dynamic page

A dynamic page reuses one layout for entries from a collection. A route such as /journal/{slug} gives each published entry its own URL.

  1. 1

    Prepare a template page

    Create a page in the editor for your journal-entry layout. Add the heading, text, and image elements that will receive content.

  2. 2

    Connect the route

    Return to the collection workspace. Under Dynamic page, choose that page, enter /journal/{slug}, and choose Save route.

  3. 3

    Bind the content

    Open the template page in the editor. Select an element and open its CMS controls. Connect compatible properties to the collection fields, such as the heading to Title.

  4. 4

    Verify with a real entry

    Publish the entry, build staging, and open its generated route. Check that the correct title, body, media, and links appear.

Route exampleURL
Collection: Journal
Pattern:    /journal/{slug}
Entry slug: planning-a-website
Result:     /journal/planning-a-website

Manage a growing collection

Use the collection’s filters to find draft or published entries. Bulk and CSV workflows supports selecting entries, validation, publication, unpublication, archiving, and CSV import.

Use Dry run CSV before Import CSV and inspect the result. Check field bindings before changing a field’s key or type, or archiving a field used by a page.

Before you move on

  • The collection fields match the content you need.
  • Required fields are complete on the entry you want to publish.
  • The dynamic route points to the intended template page.
  • A staging URL renders the entry’s actual content.

Screenshots use a local sample workspace.

Hi there, how can we help?

Help centerSearch our knowledge base of how-to articlesEmail usEmail support at support@devassistant.io