Giriş
Web sitesi sayfalarını ve mobil uygulama ekranlarını dinamik içerikle yönetin.
🎯 Bu modül ne yapar?
Pages modülü, sayfaları oluşturmanıza, almanıza ve yönetmenize olanak tanır (web siteleri için) veya ekranları (mobil uygulamalar için) tüm içerikleriyle - metin, resimler, SEO ayarları ve özel nitelikler.
Bunu içerik yönetim sisteminiz olarak düşünün - sayfaları sabit kodlamak yerine, OneEntry'de yönetir ve uygulamanızda dinamik olarak alırsınız.
📖 Basit Açıklama
Aşağıdaki sayfaları içeren bir web sitesi oluşturduğunuzu hayal edin:
- 🏠 Ana sayfa - ana açılış sayfası
- 📄 Hakkımızda - şirket bilgileri
- 📞 İletişim - iletişim formu sayfası
- 📝 Blog yazıları - birden fazla makale sayfası
- ❓ SSS - yardım merkezi
Her sayfayı kodunuzda manuel olarak oluşturmak yerine:
- ✅ OneEntry yönetim panelinde sayfalar oluşturun (içerik, resimler, SEO ile)
- ✅ Bu modülü kullanarak sayfaları dinamik olarak alın
- ✅ Uygulamanızı yeniden dağıtmadan içeriği güncelleyin
- ✅ Sayfa yapısını, URL'leri ve meta verileri tek bir yerde yönetin
Gerçek dünya örneği:
Pages Modülü Olmadan (sabit kodlanmış):
- Ana sayfayı düzenle → Kodu değiştir → Test et → Dağıt → Bekle ❌
- 10 sayfa = yönetilecek 10 kod dosyası ❌
- SEO değişiklikleri = kod değişiklikleri ❌
Pages Modülü ile (dinamik):
- Ana sayfayı düzenle → OneEntry yönetim panelinde güncelle → Anında canlı ✅
- 100 sayfa = API'den dinamik olarak al ✅
- SEO değişiklikleri = yönetim panelinde güncelle ✅
✨ Temel Kavramlar
Sayfa Nedir?
Bir sayfa, aşağıdakileri temsil eden bir içerik varlığıdır:
- Web: Web sitenizdeki bir sayfa (örneğin,
/about,/contact) - Mobil: Uygulamanızdaki bir ekran (örneğin, Profil Ekranı, Ayarlar Ekranı)
Her sayfa şunları içerir:
- İçerik - Metin, resimler, videolar
- URL - Sayfa adresi (örneğin,
/about-us) - SEO - Meta başlık, açıklama, anahtar kelimeler
- Özel nitelikler - Tanımladığınız ek alanlar
- Durum - Yayınlandı, taslak, arşivlendi
- Yerelleştirme - Çok dilli destek
Sayfa Türleri
OneEntry, farklı sayfa türlerini destekler:
| Tür | Açıklama | Örnek Kullanım |
|---|---|---|
| Normal Sayfa | Standart statik sayfa | Hakkımızda, İletişim, Şartlar |
| Hata Sayfası | 404, 500 hata sayfaları | Bulunamadı sayfası |
| Sistem Sayfası | Özel sayfalar | Gizlilik Politikası, Çerezler |
| Şablon Sayfası | Yeniden kullanılabilir sayfa yapısı | Blog yazısı şablonu |
Sayfa Hiyerarşisi
Sayfalar bir ağaç yapısında düzenlenebilir:
📁 Şirket
├─ Hakkımızda
├─ Ekip
└─ Kariyerler
📁 Ürünler
├─ Ürün Kategorisi 1
│ ├─ Ürün A
│ └─ Ürün B
└─ Ürün Kategorisi 2
Neden bu önemlidir: Bir bölümdeki tüm sayfaları alabilir veya otomatik olarak navigasyon menüleri oluşturabilirsiniz.
📋 Bilmeniz Gerekenler
Sayfaları Tanımlamanın İki Yolu
| Yöntem | Ne Zaman Kullanılır | Örnek |
|---|---|---|
| URL ile | Kullanıcı belirli bir sayfayı ziyaret ettiğinde | /about-us, /contact |
| ID ile | Dahili referanslar | 123, 456 |
En iyi uygulama: Kodda id kullanın (değişmezler), yönlendirme için URL'leri kullanın.
Sayfa Yapısı
Her sayfanın bu ana alanları vardır:
{
"id": 9, // benzersiz ID
"parentId": 8, // üst ID
"moduleFormConfigs": [], // Formlar modülü yapılandırmaları
"pageUrl": "blog1", // sayfa URL'si
"depth": 1, // derinlik
"localizeInfos": { // yerelleştirme bilgisi
"title": "Blog 1", // başlık
"menuTitle": "Blog 1", // menü başlığı
"htmlContent": "",
"plainContent": "",
},
"isVisible": true, // görünürlük
"blocks": [], // bloklar
"type": "common_page", // sayfa türü
"templateIdentifier": null, // şablon tanımlayıcı
"attributeSetIdentifier": null, // nitelik seti tanımlayıcı
"attributeValues": {}, // nitelik değerleri
"isSync": false, // senkronizasyon
}
Yerelleştirme (Çok dilli)
Sayfalar birden fazla dili destekler
Aynı sayfa, farklı diller!
Özel Nitelikler
AttributesSets kullanarak sayfalara herhangi bir alan ekleyebilirsiniz:
Örnekler:
- Blog yazıları: yazar, yayın tarihi, etiketler, öne çıkan resim
- Ürün sayfaları: fiyat, SKU, galeri, spesifikasyonlar
- Açılış sayfaları: kahraman resmi, CTA butonları, referanslar
Daha fazla bilgi: AttributesSets Modülü
📊 Hızlı Referans Tablosu - Yaygın Yöntemler
| Yöntem | Ne Yapar? | Ne Zaman Kullanılır |
|---|---|---|
| getPages() | Tüm sayfaları al (sayfalandırılmış) | Site haritası oluşturma, tüm sayfaları listeleme |
| getRootPages() | Tüm Kök sayfaları al (sayfalandırılmış) | |
| getChildPagesByParentUrl() | Üst URL'ye göre tüm Alt sayfaları al (sayfalandırılmış) | |
| getBlocksByPageUrl() | URL'ye göre sayfa için PositionBlock nesnelerini al. | Bloklar sayfa içeriğini render etmek için kullanılır. |
| getConfigPageByUrl() | URL'ye göre sayfanın ayarlarını al. | Yapılandırma sayfaları sayfanın ayarlarını saklamak için kullanılır. |
| getPageById() | Tek bir sayfayı al. | Sayfalar sayfayı render etmek için kullanılır. |
| getPageByUrl() | URL'ye göre tek bir sayfayı al. | Sayfalar sayfayı render etmek için kullanılır. |
| searchPage() | Sınırlı çıktı ile sayfalar için hızlı arama. | Sayfaları başlık, açıklama, etiketler vb. ile arama |
❓ Sıkça Sorulan Sorular (SSS)
URL ile Marker arasındaki fark nedir?
-
URL (
pageUrl) - Kullanıcıların gördüğü web adresi (örneğin,/about-us,/contact)- Yönlendirme için kullanılır
- Kullanıcı dostu
-
Marker - Kod içindeki teknik tanımlayıcı (örneğin,
homepage,contact_page)- Kod referanslarında kullanılır
- Teknik, kullanıcıya yönelik değil
💡 Önemli Notlar
Sayfa URL'leri ve Yönlendirme
Yönlendirme için en iyi uygulama:
✅ İyi: Dinamik tüm yakalama rotası Next.js örneği: pages/[...slug].js
Performans için Önbellekleme
Önbellekleme ile API çağrılarını azaltın.
Taslakları Önizleme
Taslak sayfalarını yalnızca yöneticilere gösterin.
🎓 En İyi Uygulamalar
- API çağrılarını azaltmak için sayfaları önbelleğe alın
- 404 hatalarını nazikçe yönetin
- Üretim için
statusId: 1veisVisible: trueile filtreleyin - UI'de yükleme durumları ekleyin
- Sayfa önbellekleme stratejisi uygulayın
Modülün kullanıcı arayüzü hakkında daha fazla bilgi https://doc.oneentry.cloud/docs/category/pages
Pages modülünün tanımı
const { Pages } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
🔗 İlgili Belgeler
- Products Modülü - E-ticaret ürünlerini yönetin
- Blocks Modülü - Sayfalar için yeniden kullanılabilir içerik blokları
- AttributesSets Modülü - Sayfalar için özel alanlar
- Menus Modülü - Navigasyon menüsü yönetimi