profound-logoProfound CMS
⌘K
Admin
Theme
DocsTutorialBlogPhilosophy
DocsTutorialBlogPhilosophy

Hybrid

Collection of Pages with ComponentsTypes of ComponentsSetup server sent events (SSE) content refetchInstall Profound CMS as a proxySkripting i malbyggerenProject ScaffoldingMedia Library

Headless

Quick startSplit Screen JSON Component Builder with LLMComponent Zod Pull

REST API

REST API OverviewgetConnect your websitegetGET /routesgetGET /routegetGET /blocksgetGET /blocks/with-cel-cachegetGET /blocks/generatedgetGET /componentsgetGET /components/{name}getGET /dataset/{schema_name}getGET /content-changes (SSE)patchPATCH /dataset/{schema_name}postEtteroversettelsepatchPATCH /translationsgetGET /usagepostPOST /csvpatchPATCH /csv
All Systems Operational
Powered Byprofound-logo
Theme

Install Profound CMS as a proxy

oppsett av proxy for adminpanelet

Det er enkelt Ă„ koble adminpanelet til nettstedet ditt


Hvorfor er dette nĂždvendig

Dette sikrer en sÞmlÞs redigeringsopplevelse. NÄr adminpanelet er koblet til nettstedet ditt via en proxy, kan du redigere nettstedet pÄ samme URL og fÄ en visuell forhÄndsvisning av endringene i sanntid. Det muliggjÞr ogsÄ redigering med overlegg, noe som gir en bedre brukeropplevelse ved redigering av nettsiden.


NĂždvendige trinn

Proxy-oppsett (det finnes noen forbehold)

Proxyen er en proxy.ts-fil i prosjektet ditt (i Next.js 16; i eldre versjoner av Next.js heter den middleware.ts). Den fungerer som en URL-omskriving og videresender nettstedets /admin-, /api- og /auth-endepunkter til CMS-et.

  • For localhost: du mĂ„ bruke en tunnel (siden CMS-et ikke kan fĂ„ direkte tilgang til localhost)
  • Fungerer sĂžmlĂžst pĂ„ distribuerte nettsteder

Proxy-oppsett

// proxy.ts  (Next.js 16 — bruk middleware.ts i eldre versjoner av Next.js)
import { createCmsProxy, cmsProxyMatcher } from 'cms-renderer/lib/proxy';
import type { NextRequest } from 'next/server';

const cmsProxy = createCmsProxy({
  // CMS-administratorens opprinnelse som proxyen skal videresende til.
  upstream: process.env.ADMIN_UPSTREAM_ORIGIN ?? 'https://cms.dev.tryprofound.com',
});

export default async function proxy(request: NextRequest) {
  return cmsProxy(request);
}

export const config = {
  matcher: cmsProxyMatcher,
};

createCmsProxy returnerer en behandler som du kaller med den innkommende forespĂžrselen. cmsProxyMatcher er den ferdiglagde matcheren som dekker /admin, /api, /auth samt admin-initierte /_next- og forespĂžrsler etter statiske ressurser — slik at du slipper Ă„ skrive matcher-arrayet manuelt.

I eldre versjoner av Next.js gir du filen navnet middleware.ts og eksporterer behandleren som middleware i stedet for som standardeksport:

export async function middleware(request: NextRequest) { return cmsProxy(request); } export const config = { matcher: cmsProxyMatcher };

Trenger du Ă„ videresende ekstra stier? Send additionalPaths: ['/my-path'] til createCmsProxy.

NÄ kan du gÄ til /admin pÄ nettstedet ditt for Ä fÄ tilgang til adminpanelet. Dette aktiverer forhÄndsvisning i sanntid.


Redigering med overlegg og forhÄndsvisningsruten

Overlegg og redigeringsmodus gjengis av forhÄndsvisningsruten din, ikke den statiske produksjonsruten. Adminpanelet laster inn nettstedet ditt i redigeringsmodus (?edit_mode=true), og denne forespÞrselen hÄndteres av ParametricRoutePreviewPage pÄ en force-dynamic-rute, som videresender searchParams for deg:

// app/cms-preview_/[...slug]/page.tsx
import { ParametricRoutePreviewPage } from 'cms-renderer/lib/renderer';
import { registry } from '@/lib/registry';
import { cmsConfig } from '@/lib/cms-config';

// Dynamisk gjengivelse — tillater searchParams for edit_mode
export const dynamic = 'force-dynamic';

interface PageProps {
  params: Promise<{ slug: string[] }>;
  searchParams: Promise<{ [key: string]: string | string[] | undefined }>;
}

export default async function PreviewPage({ params, searchParams }: PageProps) {
  const { slug } = await params;

  return (
    <ParametricRoutePreviewPage
      registry={registry}
      apiKey={cmsConfig.apiKey}
      websiteId={cmsConfig.websiteId}
      cmsUrl={cmsConfig.cmsUrl}
      params={Promise.resolve({ slug })}
      searchParams={searchParams}
    />
  );
}

Du trenger ikke Ă„ koble til overlegg manuelt — det eneste som kreves, er Ă„ sende searchParams til forhĂ„ndsvisningsgjengiveren. Produksjonsruten din (`app/[...slug]/page.tsx`) forblir statisk med&#32;ParametricRoutePage&#32;og trenger ikke&#32;searchParams\. Se Setup Hybrid CMS Project for et komplett oppsett med to ruter.


Slik bekrefter du oppsettet

  1. GÄ til /admin pÄ nettstedet ditt
  2. Du skal bli bedt om Ä logge inn, og CMS-adminpanelet skal Äpnes umiddelbart
  3. Åpne nettstedet ditt fra adminpanelet, og bekreft at overlegg og forhĂ„ndsvisning i sanntid fungerer automatisk

Overlegg og forhÄndsvisninger i sanntid skal fungere automatisk.


Neste trinn

Sett opp komplette produksjons- og forhÄndsvisningsruter i Setup Hybrid CMS Project.

Continue Reading
Previousâ€čSetup server sent events (SSE) content refetchNextSkripting i malbyggerenâ€ș