Sayfa Yerleşimleri

Sayfa Yerleşimleri, sayfalar için dış genel (public) kabuk seçimini ve yönetilen slot sarmalayıcılarını yöneten kurulum düzeyinde tanımlardır.

V1 Kapsamı

  • Yönetim yolu: Admin -> System -> Page Layouts
  • Erişim: yalnızca super_admin
  • V1; listeleme, oluşturma, düzenleme, etkinleştirme, devre dışı bırakma, sıralama, yönetilen Sayfa Yerleşimi Slotu CRUD işlemleri, Sayfa Düzenleme slot karşılaştırması ve eksik slotların güvenli biçimde uygulanmasını destekler
  • V1 sistem yerleşimlerinin silinmesini desteklemez
  • Sayfalar, bu sürümde geriye dönük uyumluluk için seçilen yerleşim tanıtıcısını (handle) hâlâ pages.settings.public_shell alanında saklar
  • Görünür Sayfa Yerleşimi alanları Name, Handle, Description, Status, Sort Order ve Body Class alanlarıdır
  • Shell Type, Slot Schema JSON ve Wrapper Schema JSON kullanımdan kaldırılmış uyumluluk alanlarıdır ve artık yönetim formunun parçası değildir
  • Ham Slot Schema JSON ve Wrapper Schema JSON artık yönetim tarafındaki düzenleme modeli değildir

Yerleşik Yerleşimler

  • default / Default Layout: standart genel sayfa kabuğu
  • docs / Docs Layout: üstbilgi, kenar çubuğu, ana içerik ve altbilgi bölge eşlemesine sahip dokümantasyon kabuğu

Bu yerleşik yerleşimler; eski sayfalar, içe aktarmalar, dışa aktarmalar ve genel görüntüleme ile geriye dönük uyumlu kalır.

Her yerleşik yerleşim artık yönetilen Sayfa Yerleşimi Slotlarını da hazır olarak oluşturur:

  • default: header, main, sidebar, footer
  • docs: header, sidebar, main, footer

Görüntüleme Nasıl Çalışır

  • Bir sayfa, public_shell alanında bir Sayfa Yerleşimi tanıtıcısı saklar
  • Çalışma zamanı, mevcut olduğunda bu tanıtıcıyı yönetilen bir Sayfa Yerleşimine çözümler
  • Çözümlenen Sayfa Yerleşimi, genel <body> öğesine doğrulanmış bir body_class ekleyebilir
  • Çalışma zamanı, mevcut olduğunda slot sarmalayıcılarını ilişkisel page_layout_slots kayıtlarından çözümler
  • Her Sayfa Yerleşimi Slotu, yayında olan bir CMS SlotType satırına başvurur ve öğe, id, sınıflar ve güvenilir sarmalayıcı parçacıkları gibi sarmalayıcı meta verilerini tanımlar
  • İlişkisel Sayfa Yerleşimi Slotları mevcut değilse, yerleşik geri dönüş tanımları default ve docs görüntülemesini kararlı tutar

V1'de özel yerleşimler hâlâ mevcut default veya docs genel kabuk davranışını yeniden kullanır. Çalışma zamanı, uyumluluk için bu davranışı yönetilen slot tanımlarından ihtiyatlı biçimde çıkarır.

Yönetilen Sayfa Yerleşimi Slotları

Sayfa Yerleşimi Slotları, tek bir Sayfa Yerleşimine bağlı yönetilen bölge kayıtlarıdır.

  • Yönetim yolu: Admin -> System -> Page Layouts -> Edit -> Page Layout Slots
  • Slot Türleri, Sayfa Yerleşimi Slotu eklemek için kullanılan katalogdur
  • Her Sayfa Yerleşimi Slotu slot_type_id, slot_name, label, description, html_element, html_id, html_classes, before_html, start_html, end_html, after_html, is_required, is_active, is_system ve sort_order alanlarını saklar
  • Yönetim düzenlemesi bu alanları Slot Identity, Wrapper Markup, Advanced Trusted Layout HTML ve Status / Ordering grupları altında toplar
  • Doğrulama yalnızca güvenli HTML id'lerine, boşlukla ayrılmış güvenli sınıflara ve güvenilir sarmalayıcı parçacıklarına izin verir; script, olay öznitelikleri, javascript:, iframe, object ve embed içerikleri reddedilir
  • Sistem yerleşimleri sistem slot eşlemesini kararlı tutar: sistem Sayfa Yerleşimi Slotları, alttaki slot adının veya Slot Türünün değiştirilmesine izin vermez
  • Sistem olmayan ve zorunlu olmayan Sayfa Yerleşimi Slotları kaldırılabilir
  • CSS Classes boşlukla ayrılmış sınıf belirteçleri bekler
  • Sarmalayıcı sınıfları, seçilen yerleşime uyduğunda wb-sidebar, wb-dashboard-main veya wb-stack gibi yerleşim ipuçları içerebilir
  • Genel Navbar'ın yapışkan (sticky) davranışı, site düzeyindeki üstbilgi sticky kurallarından değil, ürünle gelen wb-navbar primitifinden gelmelidir
  • Varsayılan bir genel üstbilgi slotu yalnızca bir Navbar bloğu içerdiğinde, CMS slot sarmalayıcısını nav.wb-navbar köküne yükseltir; böylece Navbar siteye özgü CSS olmadan yapışkan kalır
  • Before Slot HTML slot sarmalayıcısından önce görüntülenir
  • Slot Start HTML sarmalayıcının içinde, bloklardan önce görüntülenir
  • Slot End HTML sarmalayıcının içinde, bloklardan sonra görüntülenir
  • After Slot HTML slot sarmalayıcısından sonra görüntülenir
  • Gelişmiş güvenilir yerleşim HTML'i yalnızca sarmalayıcıya bitişik yerleşim işaretlemesi içindir, scriptler için değildir

Sayfa Düzenlemede Karşılaştırma ve Uygulama

  • Sayfa Düzenleme artık slot yönetiminin yakınında bir Page Layout Slots kartı gösterir
  • Kart, seçilen Sayfa Yerleşimi için etkin yönetilen Sayfa Yerleşimi Slotlarını geçerli sayfanın Sayfa Slotlarıyla karşılaştırır
  • Karşılaştırma en azından şunları raporlar:
  • Seçilen Sayfa Yerleşimi tarafından tanımlanan Yerleşim Slotları
  • Sayfada zaten bulunan Sayfa Slotları
  • eksik Yerleşim Slotları
  • seçilen Sayfa Yerleşimi tarafından tanımlanmayan fazladan Sayfa Slotları
  • Devre Dışı Sayfa Slotları
  • Ortak Slot destekli Sayfa Slotları
  • Add Missing Layout Slots yalnızca eksik Yerleşim Slotları olduğunda görünür
  • Bu eylem açıktır. Normal sayfa ayarlarını kaydetmek slotları sessizce eşitlemez.

Güvenlik Kuralları

  • Add Missing Layout Slots, geçerli sayfada yalnızca eksik olan etkin Sayfa Yerleşimi Slotlarını oluşturur
  • Fazladan Sayfa Slotlarını silmez
  • Blokları silmez
  • Mevcut page_slots.source_type değerini değiştirmez
  • Mevcut shared_slot_id değerini temizlemez
  • Devre Dışı Sayfa Slotlarını otomatik olarak etkinleştirmez
  • Mevcut Sayfa Slotlarını sessizce yeniden sıralamaz veya yeniden yazmaz
  • Fazladan Sayfa Slotları, seçilen Sayfa Yerleşimi bunları tanımlamasa bile güvenlik için korunur ve raporlanır
  • Ortak slot uyumluluğu, saklanan public_shell tanıtıcısına göre birebir kalır

Yeni Sayfa Varsayılanları

  • Yeni sayfalar, mümkün olduğunda seçilen Sayfa Yerleşiminin etkin yönetilen Sayfa Yerleşimi Slotlarını kullanır
  • Eski slot_schema geri dönüşü, yalnızca ilişkisel veya yerleşik yönetilen slot tanımları mevcut olmadığında güvenli bir uyumluluk geri dönüşü olarak kalır
  • Yeni sayfalar, bir Sayfa Yerleşimi seçildikten sonra yöneticilerin standart slotları elle eklemesini gerektirmemelidir

Mevcut Sayfalarda Yerleşim Değişiklikleri

  • Mevcut bir sayfada seçilen Sayfa Yerleşimini değiştirmek, normal kayıt sırasında slotları otomatik olarak silmez veya yeniden yazmaz
  • Kayıttan sonra Sayfa Düzenleme güncellenmiş karşılaştırmayı gösterir; böylece editörler eksik veya fazladan slotları güvenle inceleyebilir
  • Geçerli sürüm, otomatik değişiklik yerine bilinçli olarak açık Add Missing Layout Slots eylemini tercih eder

Body Class

  • Body Class, genel <body> öğesine eklenen isteğe bağlı, boşlukla ayrılmış bir belirteç listesidir
  • Yerleşik hazır değerler şu anda layout-default ve layout-docs değerleridir
  • Genel görüntüleme, temel wb-public-body sınıfını korur ve mevcut olduğunda Sayfa Yerleşimi body sınıflarını ekler
  • Yerleşime özgü CSS; body.layout-docs ile Sayfa Yerleşimi Slotları tarafından tanımlanan slot id'leri ve sınıfları gibi kombinasyonları hedefleyebilir
  • Yapışkan genel üstbilgiler için bir Navbar bloğunu tercih edin; CMS, tek Navbar içeren varsayılan üstbilgi slotlarını nav.wb-navbar köküne yükseltir; böylece yapışkan ofset ve katmanlama davranışının sahibi WebBlocks UI olur

Sahiplik Sınırları

  • Sayfa Yerleşimi, dış genel kabuk seçiminin sahibidir
  • Sayfa Yerleşimi ayrıca o kabuk için genel body-class belirteçlerinin de sahibidir
  • Sayfa Yerleşimi Slotları, bölge sarmalayıcı meta verilerinin ve sıralamanın sahibidir
  • Sayfa Yerleşimi Slotları; her bölge için genel sarmalayıcı öğesinin, id'sinin, sınıflarının ve isteğe bağlı sarmalayıcıya bitişik güvenilir HTML'in sahibidir
  • Slot adları, header, main, sidebar ve footer gibi bölge sarmalayıcı anlamlarının sahibidir
  • Bloklar, bu sarmalayıcıların içinde görüntülenen içeriğin sahibidir
  • Yapışkan navbar davranışının sahibi CMS Sayfa Yerleşimleri değil, WebBlocks UI .wb-navbar olmaya devam eder

Bilinmeyen veya Eksik Yerleşimler

  • Mevcut sayfalar public_shell alanından başka bir yapıya taşınmaz
  • Bilinmeyen yerleşim tanıtıcıları olduğu gibi saklanmaya devam eder
  • Yönetim düzenlemesi, geçerli eski tanıtıcıyı korunmuş bir seçenek olarak göstererek güvenli kalır
  • Genel görüntüleme çökmek yerine güvenle geri döner
  • Bilinmeyen tanıtıcılar V1'de varsayılan çalışma zamanı davranışına güvenle geri döner

Ortak Slot Uyumluluğu

Ortak slot uyumluluğu V1'de ihtiyatlı kalır.

  • Ortak slot yönetim ekranları bu kısıtı artık Page Layout olarak sunar; saklanan uyumluluk alanı ise bu sürümde geriye dönük uyumluluk için public_shell olarak kalır
  • Bir ortak slot public_shell ayarladığında birebir public_shell tanıtıcı eşleşmesi gerekir
  • Boş public_shell genel (generic) kalır
  • Docs tarzı çalışma zamanı davranışını yeniden kullanan özel bir yerleşim tanıtıcısı, docs ile kısıtlanmış ortak slotlarla otomatik olarak eşleşmez
  • Eksik Yerleşim Slotlarını eklemek, yeni Sayfa Slotlarını varsayılan olarak Page Content olarak oluşturur ve ortak slot uyumluluk davranışını genişletmez

Taşınabilirlik Sınırı

  • Site dışa/içe aktarma ve klonlama, sayfa düzeyindeki public_shell tanıtıcılarını sayfa yapılandırması olarak aktarmaya devam eder
  • Kurulum düzeyindeki Sayfa Yerleşimi tanımları ve Sayfa Yerleşimi Slotu tanımları V1'de site dışa/içe aktarmaya dahil değildir
  • Aktarılan bir sayfa özel bir yerleşim tanıtıcısı kullanıyorsa, amaçlanan davranış için hedef kurulumda eşleşen bir Sayfa Yerleşimi tanıtıcısı bulunmalıdır
  • Hedef kurulumda eşleşen bir yerleşim yoksa görüntüleme güvenle geri döner