Ci sono alcune parti in ogni pagina. Queste includono il layout, il contenuto e le opzioni linguistiche.
Il layout è l'HTML che racchiude il contenuto. Include l'intestazione, il piè di pagina e qualsiasi altro elemento che è costante in tutte le pagine. Quel layout è definito in un'altra pagina come una funzione TypeScript.
Il contenuto è l'HTML che è unico per ogni pagina. Lo definiamo come mostrato di seguito. Assicurati di includere le chiamate a i18Next.t come appropriato per supportare le traduzioni.
Le opzioni di lingua sono le diverse lingue in cui la pagina è disponibile. Le definiamo all'inizio. Collega il percorso e la funzionalità della pagina individuale insieme. La traduzione delle URL viene gestita all'interno di ciò.
Copied!
TypeScript - pages/ExamplePage.ts
import i18next from"../GlobalSitesCore/i18n";
import { Layout } from"../Layout";
import { RenderProps, renderLanguageFiles } from"../GlobalSitesCore/languages";
import { FileResult } from"../GlobalSitesCore/FileResult";
exportasyncfunctionExamplePagePages(): Promise<FileResult[]> {
returnrenderLanguageFiles({
subDirectoryInEnglish: undefined,
fileNameInEnglish: "example-page",
includeInSitemap: true,
render: (props) =>ExamplePage(props),
});
}
interfaceExamplePagePropsextendsRenderProps {}
exportfunctionExamplePage(props: ExamplePageProps): string {
var title = i18next.t(`Example Page`);
var metaDescription = i18next.t(`This is an example page.`);
returnLayout({
lang: props.option.code,
title: title,
description: metaDescription,
languageOptions: props.allOptions,
content: /* HTML */`
<h1>${title}</h1>
<p>${metaDescription}</p>
<!-- Add more content as needed -->
`,
});
}