На каждой странице есть несколько частей. К ним относятся макет, содержание и варианты языка.
Макет это HTML, который оборачивает содержимое. Он включает в себя заголовок, нижний колонтитул и любые другие элементы, которые постоянны на всех страницах. Этот макет определяется на другой странице как функция TypeScript.
Содержимое — это HTML, уникальный для каждой страницы. Мы определяем его следующим образом. Обязательно включите вызовы i18Next.t по мере необходимости для поддержки переводов.
Варианты языков — это различные языки, на которых доступна страница. Мы определяем их в начале. Это связывает маршрут и индивидуальную функцию страницы. Переводы URL обрабатываются в этом контексте.
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 -->
`,
});
}