Skip to content

Sayfa Ekle / Kaldır

Bu belge, yeni bir pazarlama sayfası ekleme veya kaldırma adımlarını anlatır. Canlı referans: Home sayfası.

Sistem i18n ve locale routing için Çoklu Dil Kullanımı. Layout iskeleti için Site Layout. MDX blog sayfaları bu akışa girmez — Blog İçeriği.


flowchart LR
A[routes.ts] --> B[pages/*.astro]
B --> C[config/nav megaMenus]
C --> D[i18n/pages/*.ts]
B --> E[components/pages/*.astro]
AdımDosyaNe tanımlanır
1src/config/routes.tssitePages: pageId ve her dilin path’i
2src/pages/...İnce sarmalayıcı .astro (locale sabit)
3src/config/nav/nav1.ts veya navbar3-menus.tsÜst menü satırları; gerçek link için sitePageMenuLink (Header rehberi)
4src/i18n/pages/....tsSayfaya özel metinler (tercih edilen)
5src/components/pages/....astroOrtak içerik bileşeni

sitePages.home — dört dil:

DilURL
en/
tr/tr/
de/de/
fr/fr/
home: {
en: '/',
tr: '/tr/',
de: '/de/',
fr: '/fr/',
},
DosyaGörev
src/pages/index.astrolocale="en"<HomePage />
src/pages/tr/index.astrolocale="tr"
src/pages/de/index.astrolocale="de"
src/pages/fr/index.astrolocale="fr"
src/components/pages/HomePage.astroBaseLayout + PageShell + içerik

İnce sarmalayıcı:

---
import HomePage from '@/components/pages/HomePage.astro';
const locale = 'en';
---
<HomePage locale={locale} />

Sayfa metinleri: src/i18n/pages/home.ts (Çeviri Metinleri).


getPageIdFromPathname Ve Dil Değiştirici

Section titled “getPageIdFromPathname Ve Dil Değiştirici”
  1. Astro.url.pathnameresolvePath() (src/i18n/routing.ts)
  2. Path routes.ts indeksinde eşleşirse → pageId + locale
  3. getPageIdFromPathname()SitePageId döner

/tr/ açıkken dil değiştirici pageId = 'home' tutar; Almanca’ya geçince /de/ gider.

Blog yazısı (/blog/slug) sitePages dışındadır; varsayılan pageId = 'home'. Yazı çevirisi: alternatePathsSEO / Meta.


  1. routes.tssitePages.yeniSayfa ve 4 locale path
  2. src/pages/ — her dil için bir .astro sarmalayıcı
  3. src/components/pages/YeniSayfa.astroBaseLayout + PageShell + içerik
  4. src/config/nav/nav1.ts veya navbar3-menus.ts — menüde görünsün istiyorsanız megaMenus içinde ilgili links / sütuna sitePageMenuLink('yeniSayfa', common.headerNav....) ekleyin (Header rehberi)
  5. i18n/common.ts — menü etiketi common.headerNav.* veya common.nav.* (ls(...))
  6. i18n/pages/yeni-sayfa.ts — başlık, lead vb.
  7. BaseLayouttitle ve description props (SEO)

Build: npm run build.


KontrolDosya / yer
Route tanımıroutes.tssitePages satırını sil
Sayfa dosyalarısrc/pages/... mirror’ları sil
Menünav1.ts / navbar3-menus.ts → ilgili megaMenus girdisi
Çevirii18n/pages/... ve common.headerNav.* / common.nav.*
Bileşencomponents/pages/...

  • Her dil için farklı pageId tanımlamayın.
  • İçerik HTML’ini dört pages/*.astro dosyasına kopyalamayın — ortak bileşen kullanın.
  • Sayfada ikinci BaseLayout veya header/footer yazmayın.


Yeni sayfa = routes.ts → ince pages/*.astro → ortak components/pages/*.astrosrc/config/nav/ (sitePageMenuLink + megaMenus) + i18n. Home bu kalıbın canlı örneğidir.