For Template developers

Build and customize the front-end templates that render erxes websites: the Next.js code that turns CMS pages, sections, and menus into a deployed site. This track is for developers implementing the presentation layer of a Web Builder site: the layout, reusable sections, and page templates in a template repository such as erxes-web-templates/ecommerce-boilerplate. Template repositories are separate from the erxes/erxes product repo.

What the product defines:

  • The data format. Page.pageItems carries section data (type, content, order, objectType/objectId, config), and cp* operations such as cpCmsPageDetail and cpMenus deliver it to a site (page schema).
  • The deploy pipeline. cpDeployWeb clones your template repo, writes data/configs.json, data/pages/<slug>.json, app/favicon.ico, and a next.config.ts with erxes environment variables, then deploys to Vercel with yarn install and next build (utils/utils.ts).
  • Seeded pages. createWeb seeds slugs like home, about, contact, products, or tours depending on templateType (ecommerce, restaurant, hotel, tour) (web.ts).

UI-only scope

Template work is presentation-only. Adjust markup, styles, responsive behavior, and component states, but do not change the data layer: GraphQL operations, pageItems/config shapes, portal tokens, or route identifiers. Those belong to the CMS integration.

Prerequisites

  • Access to the template repository you are changing.
  • Node.js and the package manager the template declares; deployed templates build with yarn install, while the erxes monorepo itself uses pnpm.
  • A running erxes instance with the Content plugin (ENABLED_PLUGINS=content) and a Client Portal if you need live data; fixture mode covers pure presentation work.
  • For data fetching and credentials, see the CMS + Next.js track.

Guides

Was this helpful?