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.pageItemscarries section data (type,content,order,objectType/objectId,config), andcp*operations such ascpCmsPageDetailandcpMenusdeliver it to a site (page schema). - The deploy pipeline.
cpDeployWebclones your template repo, writesdata/configs.json,data/pages/<slug>.json,app/favicon.ico, and anext.config.tswith erxes environment variables, then deploys to Vercel withyarn installandnext build(utils/utils.ts). - Seeded pages.
createWebseeds slugs likehome,about,contact,products, ortoursdepending ontemplateType(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.