adminipaneeli puhverserveri seadistamine
Adminipaneeli ĂŒhendamine teie veebisaidiga on lihtne samm
See tagab sujuva redigeerimiskogemuse. Kui adminipaneel on puhverserveri kaudu teie veebisaidiga ĂŒhendatud, saate oma veebisaiti redigeerida samal URL-il ja nĂ€ha muudatuste visuaalset eelvaadet reaalajas. Samuti vĂ”imaldab see ĂŒlekatete abil redigeerimist, mis pakub veebilehe muutmisel paremat kasutuskogemust.
Puhverserver on teie projektis asuv fail proxy.ts (Next.js 16 korral; vanemates Next.js versioonides on selleks middleware.ts). See toimib nagu URL-i ĂŒmberkirjutus, suunates teie veebisaidi lĂ”pp-punktid /admin, /api ja /auth CMS-i.
localhosti puhul: peate kasutama tunnelit (kuna CMS ei pÀÀse otse ligi aadressile localhost)// proxy.ts (Next.js 16 â vanemates Next.js versioonides kasutage faili middleware.ts)
import { createCmsProxy, cmsProxyMatcher } from 'cms-renderer/lib/proxy';
import type { NextRequest } from 'next/server';
const cmsProxy = createCmsProxy({
// CMS-i administreerimisliidese pÀritolu, kuhu puhverserver suunab.
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 tagastab töötleja, mida kutsute vĂ€lja sissetuleva pĂ€ringuga. cmsProxyMatcher on valmis matcher, mis hĂ”lmab teid /admin, /api, /auth ning administreerimisliidese algatatud /_next-i ja staatiliste varade pĂ€ringute jaoks â seega ei pea te matcherite massiivi kĂ€sitsi kirjutama.
Vanemate Next.js-i versioonide puhul nimetage fail
middleware.ts-iks ja eksportige töötleja vaikimisi ekspordi asemel nimegamiddleware:
export async function middleware(request: NextRequest) { return cmsProxy(request); } export const config = { matcher: cmsProxyMatcher };
Kas peate puhverserveri kaudu suunama tÀiendavaid teid? Edastage
createCmsProxy-leadditionalPaths: ['/my-path'].
NĂŒĂŒd saate adminipaneelile juurdepÀÀsuks minna oma saidil aadressile /admin. See vĂ”imaldab reaalajas eelvaadet.
Ălekatted ja redigeerimisreĆŸiim renderdatakse teie eelvaatemarsruudil, mitte staatilisel tootmismarsruudil. Administreerimisliides laadib teie saidi redigeerimisreĆŸiimis (?edit_mode=true) ning seda pĂ€ringut teenindab force-dynamic-iga marsruudil olev ParametricRoutePreviewPage, mis edastab searchParams-i teie eest:
// app/cms-preview_/[...slug]/page.tsx
import { ParametricRoutePreviewPage } from 'cms-renderer/lib/renderer';
import { registry } from '@/lib/registry';
import { cmsConfig } from '@/lib/cms-config';
// DĂŒnaamiline renderdamine â vĂ”imaldab kasutada searchParams-i redigeerimisreĆŸiimi jaoks
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}
/>
);
}
Te ei pea ĂŒlekatteid kĂ€sitsi ĂŒhendama â piisab sellest, kui edastate searchParams-i eelrenderdajale. Teie tootmismarsruut (`app/[...slug]/page.tsx) jÀÀb ParametricRoutePage abil staatiliseks ja ei vaja searchParams`-i. TĂ€ieliku kahe marsruudiga seadistuse kohta vaadake HĂŒbriidse CMS-i projekti seadistamine.
/adminĂlekatted ja reaalajas eelvaated peaksid töötama automaatselt.
Seadistage tĂ€ielikud tootmis- ja eelvaatemarsruudid juhendi HĂŒbriidse CMS-i projekti seadistamine abil.