Każda strona składa się z kilku części. Należą do nich układ, treść oraz opcje językowe.
Układ to HTML, który otacza zawartość. Zawiera nagłówek, stopkę oraz inne elementy, które są stałe na wszystkich stronach. Ten układ jest zdefiniowany na innej stronie jako funkcja TypeScript.
Treść to HTML, który jest unikalny dla każdej strony. Definiujemy to, jak pokazano poniżej. Upewnij się, że dołączyłeś wywołania do i18Next.t w odpowiednich miejscach, aby wspierać tłumaczenia.
Opcje językowe to różne języki, w których strona jest dostępna. Definiujemy je na początku. To łączy trasę i funkcję poszczególnej strony. Tłumaczenie adresów URL jest obsługiwane w tym kontekście.
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 -->
`,
});
}