Blok Türü Sözleşmeleri

Amaç ve Kapsam

Bu belge, WebBlocks CMS'te hâlihazırda dağıtılan yayındaki çekirdek blok türlerinin Faz 1 envanteri olarak başladı; artık Faz 2 salt okunur yönetim sözleşmesi görünümünü de belgeliyor ve bugüne kadar tamamlanan Faz 3 boşluk standartlaştırma düzeltmelerini kaydediyor. Bunlara section, container, grid, cluster, card ve content_header için Yerleşim + Kart temizliği; hero, columns, column_item, cta, feature-grid ve feature-item için Pazarlama / Yapılandırılmış İçerik temizliği; ve eski uyumluluk slug'larını yayındaki çekirdek kataloğa terfi ettirmeden dürüstçe belgelenmiş tutan Eski / Geçiş temizliği dahildir.

Faz 1 yalnızca salt okunur dokümantasyondur.

  • Blok formlarını yeniden tasarlamaz.
  • Veritabanı güdümlü bir form oluşturucu eklemez.
  • Blok içeriğini taşımaz.
  • Herkese açık render sürecini değiştirmez.
  • Admin -> System -> Block Types düzenlemelerinin bugün nasıl çalıştığını değiştirmez.

Mevcut Blok Türleri yönetim ekranı bir katalog ve meta veri ekranı olmaya devam ediyor. Faz 2'de artık listelenen her satır için salt okunur bir Sözleşme kipi (modal) açabiliyor, ancak yine de dinamik bir form oluşturucu veya şema editörü değildir.

Eklenti Faz 3, PluginBlockTypeDefinition, PluginBlockPackDefinition ve PluginBlockRegistry aracılığıyla yalnızca bildirime dayalı eklenti blok kancaları ekler. Etkin eklentiler, keşif için analytics-tools::score-card gibi eklentiye ait tanıtıcıları sunabilir; ancak bu bildirimler dağıtılan çekirdek blok sözleşmelerinin, çekirdek blok görünümlerinin, çekirdek seeder'ların veya blok düzenleme hizmetlerinin yerini almaz. hero gibi nitelenmemiş çekirdek tarzı tanıtıcılar çekirdeğe ait kalır ve eklenti bildirimleri için reddedilir.

Tanım

Bir Blok Türü Sözleşmesi, bir blok türünün CMS katmanları arasında nasıl davrandığına ilişkin güncel teknik anlaşmadır:

  • katalog kimliği: slug, etiket, kategori, durum ve sistem ya da kapsayıcı meta verileri
  • yönetim formu kaynağı: bloku şu anda hangi Blade parçasının düzenlediği ve hangi alanları sunduğu
  • doğrulama ve istek işleme: App\Http\Requests\Admin\BlockRequest sınıfının blok yüklerini şu anda nasıl normalleştirip doğruladığı
  • depolama sahipliği: hangi değerlerin blocks tablosunda, özel çeviri satırlarında, block_media tablosunda veya ilişkili kayıtlarda yaşadığı
  • çeviri sahipliği: kullanıcıya görünen hangi alanların dile (locale) ait olduğu
  • ortak sahiplik: hangi ayarların veya ilişkilerin diller arasında ortak kaldığı
  • medya veya ilişki sahipliği: doğrudan media_id, sıralı block_media, gezinme aramaları veya aynı sayfa ilişkileri
  • alt öğe desteği: blokun bir kapsayıcı olup olmadığı ve alt türlerin kısıtlanıp kısıtlanmadığı
  • herkese açık renderer kaynağı: bloku bugün hangi herkese açık Blade parçasının render ettiği
  • renderer kök sözleşmesi: blokun herkese açık kök işaretlemesine sahip olup olmadığı veya genel sarmalayıcı yoluna mı dayandığı
  • taşınabilirlik ve revizyonlar: mevcut depolama biçiminin revizyonlar, klonlama, dışa/içe aktarma ve terfi süreçlerinde dolaşmaya devam edip etmeyeceği
  • testler ve boşluklar: bilinen odaklı kapsam, belirsiz davranış veya uyumluluk borcu

Güncel Sözleşme Terimleri

Aşağıda kullanılan durum terimleri:

  • clear: yönetim formu, istek işleme, depolama ve renderer çoğunlukla örtüşüyor
  • mostly clear: güncel sözleşme anlaşılabilir ama kayda değer bir çekincesi var
  • transitional: güncel sözleşme bilinçli olarak bir uyumluluk yolu veya karma sahiplik deseni taşıyor
  • needs review: güncel kod yolları uyuşmuyor veya davranış, Faz 2'nin daha net göstermesini gerektirecek kadar az belgelenmiş
  • legacy/fallback: yayındaki davranış bir yedek (fallback) veya uyumluluk yoluna dayanıyor

Depolama Sahipliği Kuralları

Güncel ve gelecekteki sözleşme çalışmaları bu sahiplik kurallarını açık tutmalıdır:

  • blok dile (locale) aitse kullanıcıya görünen metinler çeviri satırlarına aittir
  • ortak operasyonel veya ayar verileri ortak blok ayarlarına veya açık ilişkilere aittir
  • medya, uygun olduğunda media_id veya block_media sahiplik yollarını kullanmalıdır
  • kullanıcıya görünen içeriği rastgele ayar JSON'ına taşımaktan kaçının
  • uyumluluk depolama yolları herkese açık çıktıyı veya içe aktarmaları hâlâ etkiliyorsa belgelenmiş tutun

Dağıtılan Kaynaklar

Bu Faz 1 envanteri tahminlere değil, dağıtılan kaynak koduna dayanır.

  • katalog kaynağı: app/Support/Blocks/CoreBlockTypeCatalogSyncer.php
  • blok düzenleme isteği normalleştirmesi: app/Http/Requests/Admin/BlockRequest.php
  • kalıcılık yardımcıları: app/Support/Blocks/BlockPayloadWriter.php, app/Support/Blocks/BlockTranslationWriter.php, app/Support/Blocks/BlockTranslationResolver.php
  • çeviri kayıt defteri: app/Support/Blocks/BlockTranslationRegistry.php
  • yönetim formları: resources/views/admin/blocks/types/*.blade.php
  • herkese açık renderer'lar: resources/views/pages/partials/blocks/*.blade.php
  • kapsam referansları: tests/Feature/ altındaki blok kataloğu, render, çeviri ve slug'a özgü testler

Şu anda burada belgelenen yayındaki çekirdek blok türleri: 42.

Denetim Komutu

Faz 1, güvenli bir geliştirici denetim komutu ekler:

php artisan block-types:contracts-audit
php artisan block-types:contracts-audit --json

Komut salt okunurdur.

  • veritabanını değiştirmez
  • kurulu site içeriğine bağımlı değildir
  • dağıtılan çekirdek katalog tanımlarını okur
  • dağıtılan yönetim formu ve herkese açık renderer dosyalarının varlığını doğrular
  • çeviri ailesi meta verilerini ve temel kapsayıcı desteğini raporlar

Komut, katalog ve dosya varlığı sapmaları için bir güncellik yardımcısıdır. Bu belgedeki daha kapsamlı sözleşme notlarının yerini tutmaz.

Faz 2 Yönetim Görünümü

Faz 2, sözleşme ayrıntılarını Admin -> System -> Block Types içinde salt okunur olarak sunar.

  • her satır bir Block Type Contract kipi (modal) açabilir
  • kip yalnızca bilgilendirme amaçlıdır ve güncelleme göndermez
  • dağıtılan koddan katalog, yönetim formu, depolama, çeviri, medya veya ilişki, alt öğe, renderer ve boşluk ayrıntılarını gösterir
  • Blok Türleri yönetimini bir şema editörüne veya form oluşturucuya dönüştürmez
  • özel veya taslak blok türleri kipi yine açabilir, ancak tanımlı bir çekirdek sözleşme yoksa No shipped contract is documented for this block type yet. mesajını gösterebilir

Yayındaki Blok Sözleşmesi Matrisi

İçerik

Slug Etiket Kategori Yönetim formu kaynağı Çevrilebilir alanlar Ortak/ayar alanları Medya/ilişki alanları Alt öğe/kapsayıcı davranışı Genel (public) renderer kaynağı Renderer kök sözleşmesi Mevcut durum Testler / kapsam Bilinen eksikler / notlar
header Başlık content resources/views/admin/blocks/types/header.blade.php title metin çeviri satırları üzerinden variant başlık düzeyi; settings.alignment; settings.anchor içinde ortak çapa, eski url geri dönüşüyle birlikte Aynı sayfadaki içindekiler tablosu (TOC), çapa eklenmiş Başlık bloklarını okur Kapsayıcı değildir resources/views/pages/partials/blocks/header.blade.php Kök başlık öğesine kendisi sahiptir clear SyncCoreBlockTypesCommandTest, PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest Kanonik başlık bloğudur; ortak çapa sözleşmesi nettir ancak eski url geri dönüş davranışı hâlâ mevcuttur.
plain_text Düz Metin content resources/views/admin/blocks/types/plain_text.blade.php content metin çeviri satırları üzerinden settings.alignment Yok Kapsayıcı değildir resources/views/pages/partials/blocks/plain_text.blade.php Kök öğesine kendisi sahiptir clear PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest Çevrilen gövde metni için basit bir temel bloktur.
rich-text Zengin Metin content resources/views/admin/blocks/types/rich-text.blade.php content metin çeviri satırları üzerinden Yok Yok Kapsayıcı değildir resources/views/pages/partials/blocks/rich-text.blade.php İçerik mevcut olduğunda .wb-rich-text köküne kendisi sahiptir clear RichTextBlockTest, PublicRichContentTest, BlockTranslationIntegrityTest Güvenli HTML saklama ve çeviri sahipliği nettir.
code Kod content resources/views/admin/blocks/types/code.blade.php title, subtitle, content metin çeviri satırları üzerinden settings.language Yok Kapsayıcı değildir; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleştirme desteklenmez resources/views/pages/partials/blocks/code.blade.php köküne kendisi sahiptir clear PublicRichContentTest, BlockTypePhaseThreeContractsTest, PageBuilderExperienceTest 3. Aşama, çevrilen kod başlığını, etiketini ve parçacık gövdesini mevcut metin çevirisi mimarisiyle hizalar ve artık genel çıktıda geçmişten kalan rastgele alt öğe ağaçlarını yok sayar.
button_link Düğme Bağlantısı content resources/views/admin/blocks/types/button_link.blade.php title etiketi metin çeviri satırları üzerinden settings.url; settings.target; ortak variant Yok Kapsayıcı değildir resources/views/pages/partials/blocks/button_link.blade.php köküne kendisi sahiptir clear PublicEditorialBlocksRenderingTest Ortak URL ve hedef, çevrilen etiketle tutarlıdır.
card Kart layout resources/views/admin/blocks/types/card.blade.php Yok settings.layout_name Yapıyı alt bölge blokları tanımlar; doğrudan medya veya çeviri sözleşmesi yoktur Kapsayıcıdır; izin verilen doğrudan alt öğeler yalnızca card_header, card_body ve card_footer bloklarıdır resources/views/pages/partials/blocks/card.blade.php köküne kendisi sahiptir clear PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest, BlockTranslationIntegrityTest, MediaVisualBlockContractsTest Kart artık birleştirilebilir bir kabuktur. Kart köküne kendisi sahiptir, kaydetme sırasında eski içerik veya medya alanlarını temizler ve yalnızca Kart bölge alt öğesi olmayan eski kayıtlı satırlar için asgari bir eski işleme geri dönüşü tutar.
card_header Kart Başlığı layout resources/views/admin/blocks/types/card_header.blade.php Yok settings.layout_name Yalnızca üst card ilişkisi Kapsayıcıdır; yalnızca card altına yerleştirilebilir; kart bölgesi alt öğelerine izin verilmez resources/views/pages/partials/blocks/card_header.blade.php köküne kendisi sahiptir clear PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Başlık içeriği için birleştirilebilir Kart bölge bloğudur.
card_body Kart Gövdesi layout resources/views/admin/blocks/types/card_body.blade.php Yok settings.layout_name Yalnızca üst card ilişkisi Kapsayıcıdır; yalnızca card altına yerleştirilebilir; kart bölgesi alt öğelerine izin verilmez resources/views/pages/partials/blocks/card_body.blade.php köküne kendisi sahiptir clear PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Ana gövde içeriği için birleştirilebilir Kart bölge bloğudur.
card_footer Kart Altbilgisi layout resources/views/admin/blocks/types/card_footer.blade.php Yok settings.layout_name Yalnızca üst card ilişkisi Kapsayıcıdır; yalnızca card altına yerleştirilebilir; kart bölgesi alt öğelerine izin verilmez resources/views/pages/partials/blocks/card_footer.blade.php köküne kendisi sahiptir clear PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Altbilgi veya eylem içeriği için birleştirilebilir Kart bölge bloğudur.
stat-card İstatistik Kartı content resources/views/admin/blocks/types/stat-card.blade.php title, subtitle, content metin çeviri satırları üzerinden Kanonik url blok satırında ortak kalır Yok Kapsayıcı değildir resources/views/pages/partials/blocks/stat-card.blade.php İstatistik kartı köküne kendisi sahiptir clear StatCardTest, BlockTranslationIntegrityTest 3. Aşama, mevcut isteğe bağlı URL alanını korur ve URL bulunduğunda artık basit bir genel bağlantı işler.
image Görsel content resources/views/admin/blocks/types/image.blade.php caption, alt text görsel çeviri satırları üzerinden Ortak media_id; ortak kanonik url media_id üzerinden doğrudan görsel medya ilişkisi Kapsayıcı değildir; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleştirme desteklenmez resources/views/pages/partials/blocks/image.blade.php Medya mevcut olduğunda anlamsal köküne kendisi sahiptir clear MediaVisualBlockContractsTest, PublicMediaBlocksTest, BlockTranslationIntegrityTest 3. Aşama, Görsel bloğunu mevcut görsel çevirisi mimarisiyle hizalar; böylece altyazı ve alternatif metin dile (locale) ait olurken seçilen medya ve isteğe bağlı bağlantı URL'si ortak kalır.
gallery Galeri content resources/views/admin/blocks/types/gallery.blade.php ile birlikte resources/views/admin/blocks/types/partials/gallery-items-editor.blade.php Galeri öğesi başına alt_text, caption, overlay_title ve overlay_text, block_gallery_item_translations üzerinden Ortak galeri sunum ayarları ile sıralı block_media galeri öğesi ilişkileri gallery_item rolüne sahip sıralı block_media satırları; dile ait galeri öğesi metinleri block_gallery_item_translations üzerinde tutulur; blokta eski kayıtlı title/subtitle değerleri hâlâ bulunabilir ancak genel işleme tarafından yok sayılır Kapsayıcı değildir; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleştirme desteklenmez resources/views/pages/partials/blocks/gallery.blade.php Galeri sarmalayıcı köküne kendisi sahiptir ve lightbox etkinleştirildiğinde #wb-overlay-root altında bir görüntüleyici modalı kaydeder clear MediaVisualBlockContractsTest, PublicMediaBlocksTest, PageBuilderExperienceTest, SiteCloneServiceTest, SiteExportImportTest, SitePromotionTest, ReconstructionIntegrityTest, SharedSlotRevisionTest Galeri artık bir medya koleksiyonu bloğudur. Normal yönetim formu, eski seçili varlıklar ızgarası yerine kompakt bir liste satırı editörü kullanır. İç içe açılan Add Gallery Items seçicisi, ortak yönetim #wb-overlay-root sözleşmesinde kalır; böylece yığılmış modal yaşam döngüsüne WebBlocks UI sahip olur ve uzun kompakt sonuç listeleri doğal satır yüksekliğini korurken kaydırma kapsayıcısı modal gövdesi olmaya devam eder. Genel varyantlar birbirinden farklıdır: grid eşit hücreleri korur, masonry doğal görsel yüksekliğiyle CSS sütunları kullanır ve collage öne çıkan öğe önce gelecek şekilde kompozisyonu korur. Eski kayıtlı masonary değerleri hâlâ kabul edilir ve kanonik masonry yoluna normalleştirilir. Galeri artık giriş başlığı veya paragraf çıktısına sahip değildir; bölüm metni gerektiğinde editörler Galeri'den önce content_header ile birlikte plain_text veya rich-text yerleştirmelidir. Eski, ayar tabanlı geri dönüş öğeleri eski içerik için okunabilir kalır.
download İndirme content resources/views/admin/blocks/types/download.blade.php title, subtitle metin çeviri satırları üzerinden Ortak media_id; ortak variant media_id üzerinden doğrudan indirme medyası ilişkisi Kapsayıcı değildir; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleştirme desteklenmez resources/views/pages/partials/blocks/download.blade.php Medya mevcut olduğunda CTA sarmalayıcı köküne kendisi sahiptir clear MediaVisualBlockContractsTest, PublicMediaBlocksTest 3. Aşama, seçilen indirme medyasını ve düğme varyantını ortak tutarken görünen etiketi ve yardımcı metni mevcut metin çevirisi yoluna taşır.
file Dosya content resources/views/admin/blocks/types/file.blade.php title, content metin çeviri satırları üzerinden Ortak media_id; ortak kanonik url media_id üzerinden doğrudan medya ilişkisi, harici URL geri dönüşüyle birlikte Kapsayıcı değildir; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleştirme desteklenmez resources/views/pages/partials/blocks/file.blade.php Dosya kartı köküne kendisi sahiptir clear MediaVisualBlockContractsTest, PublicMediaBlocksTest 3. Aşama, halihazırda gelen Dosya renderer'ını özel bir yönetim formuyla ürünleştirir ve ortak dosya kaynağı sahipliğini Medya ile harici URL geri dönüşü arasında açık tutar.
video Video content resources/views/admin/blocks/types/video.blade.php title, content metin çeviri satırları üzerinden Ortak media_id; ortak kanonik url media_id üzerinden doğrudan medya ilişkisi, güvenli harici URL geri dönüşüyle birlikte Kapsayıcı değildir; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleştirme desteklenmez resources/views/pages/partials/blocks/video.blade.php Video kartı köküne kendisi sahiptir clear MediaVisualBlockContractsTest, PublicMediaBlocksTest 3. Aşama, eksik yönetim formunu ve kaydetme yolunu ekler; böylece yüklenen video medyası, güvenli harici sağlayıcı URL'leri, çevrilen görünür metinler ve genel geri dönüş davranışı artık aynı sözleşmeyi tanımlar.
audio Ses content resources/views/admin/blocks/types/audio.blade.php title, content metin çeviri satırları üzerinden Ortak media_id; ortak kanonik url media_id üzerinden doğrudan medya ilişkisi, harici URL geri dönüşüyle birlikte Kapsayıcı değildir; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleştirme desteklenmez resources/views/pages/partials/blocks/audio.blade.php Ses kartı köküne kendisi sahiptir clear MediaVisualBlockContractsTest, PublicMediaBlocksTest 3. Aşama, eksik yönetim formunu ve kaydetme yolunu ekler; böylece yüklenen ses medyası, çevrilen görünür metinler ve boş oynatıcı denetimleri göstermeyen güvenli işleme artık belgelenen sözleşmeyle eşleşir.
table Tablo content resources/views/admin/blocks/types/table.blade.php title, content metin çeviri satırları üzerinden Ortak variant; renderer ayrıca settings.rows geri dönüşünü de denetler Yok Kapsayıcı değildir; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleştirme desteklenmez resources/views/pages/partials/blocks/table.blade.php Tablo sarmalayıcı köküne kendisi sahiptir mostly clear PublicRichContentTest, BlockTypePhaseThreeContractsTest, PageBuilderExperienceTest 3. Aşama, çevrilen başlık ve satır metni sahipliğini mevcut metin çevirisi mimarisiyle hizalar ve artık genel çıktıda geçmişten kalan rastgele alt öğe ağaçlarını yok sayar; eski settings.rows geri dönüş yolu belgelenmeye devam eder.
quote Alıntı content resources/views/admin/blocks/types/quote.blade.php Bugün itibarıyla registry'de yok Kanonik title, subtitle, content, variant Yok Kapsayıcı değildir; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleştirme desteklenmez resources/views/pages/partials/blocks/quote.blade.php Alıntı köküne kendisi sahiptir clear PublicRichContentTest, PageBuilderExperienceTest 3. Aşama, yönetimdeki blok ağaçlarında mevcut kayıtlı alt satırları korurken genel çıktıda Alıntı'yı bir yerleşim/kapsayıcı sarmalayıcısı olarak ele almayı bırakır.
hero Hero content resources/views/admin/blocks/types/hero.blade.php title, subtitle, content metin çeviri satırları üzerinden Ortak variant; settings.layout; settings.title_tag Yönetilen CTA'lar için alt button blokları Kapsayıcıdır; yalnızca button alt öğeleri resources/views/pages/partials/blocks/hero.blade.php Tanıtım köküne kendisi sahiptir transitional PublicHeroBlockRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Hero artık kaynağa dayalı, yayınlanmış bir çekirdek sözleşmedir. Giriş metni dile aittir, CTA etiketleri alt düğmelerde çevrilir ve CTA URL'leri ortak kalır. Kanonik çevrilmiş alanlar boş olduğunda eski içerik geri dönüşleri okunabilir kalır.
columns Sütunlar content resources/views/admin/blocks/types/columns.blade.php title, subtitle, content metin çeviri satırları üzerinden Ortak variant Alt column_item blokları Kapsayıcıdır; yalnızca column_item alt öğeleri resources/views/pages/partials/blocks/columns.blade.php Yapılandırılmış içerik köküne kendisi sahiptir clear PublicColumnsRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Sütunlar artık yayınlanmış, birinci sınıf bir yapılandırılmış içerik bloğudur. Giriş metni dile aitken varyant, alt öğe sırası ve alt öğe URL'leri ortak kalır.
column_item Sütun Öğesi content resources/views/admin/blocks/types/column_item.blade.php title, subtitle, content metin çeviri satırları üzerinden Ortak kanonik url Üst columns ilişkisi Kapsayıcı değildir resources/views/pages/partials/blocks/column_item.blade.php Üst öğe tarafından belirlenen öğe kökü, Sütunlar varyantına göre değişir clear PublicColumnsRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Sütun Öğesi artık Sütunlar için yayınlanmış, destekleyici bir alt öğe sözleşmesidir. Dil düzenlemeleri, ortak URL'lerin üzerine yazmadan öğe metnini günceller.
cta CTA content resources/views/admin/blocks/types/cta.blade.php title, subtitle, content metin çeviri satırları üzerinden Ortak variant Yönetilen CTA'lar için alt button blokları Kapsayıcıdır; yalnızca button alt öğeleri resources/views/pages/partials/blocks/cta.blade.php Tanıtım köküne kendisi sahiptir clear PublicHeroBlockRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest CTA artık dile ait metinlere ve CTA etiketlerine, ortak CTA URL'lerine ve köküne sahip çıkan bir genel renderer'a sahip, yayınlanmış bir tanıtım sözleşmesidir.
feature-grid Özellik Izgarası content resources/views/admin/blocks/types/feature-grid.blade.php title, subtitle, content metin çeviri satırları üzerinden Ortak alt öğe yapısı dışında yok Eskiyle uyumlu column_item desteğiyle birlikte alt feature-item blokları Kapsayıcıdır; izin verilen alt öğeler feature-item ve column_item bloklarıdır resources/views/pages/partials/blocks/feature-grid.blade.php Sütunlar kart sunumuna devreder ve hâlâ genel amaçlı public sarmalayıcıyı kullanır transitional PublicHeroBlockRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Özellik Izgarası artık yayınlanmış bir uyumluluk takma adıdır; çünkü gerçekten üründe var olan yönetim ve işleme yollarına sahiptir, ancak yine de bilinçli olarak Sütunlar kart sözleşmesine devreder.
feature-item Özellik Öğesi content resources/views/admin/blocks/types/feature-item.blade.php title, content metin çeviri satırları üzerinden Ortak kanonik url Üst feature-grid ilişkisi Kapsayıcı değildir resources/views/pages/partials/blocks/feature-item.blade.php Sütun Öğesi kart sunumuna devreder transitional PublicHeroBlockRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Özellik Öğesi artık Özellik Izgarası için yayınlanmış, destekleyici bir alt öğe sözleşmesidir ve mevcut Sütun Öğesi kart kabuğunu paylaşmaya devam eder.

Yerleşim

Slug Etiket Kategori Yönetim formu kaynağı Çevrilebilir alanlar Ortak/ayar alanları Medya/ilişki alanları Alt öğe/kapsayıcı davranışı Genel (public) renderer kaynağı Renderer kök sözleşmesi Mevcut durum Testler / kapsam Bilinen eksikler / notlar
section Bölüm layout resources/views/admin/blocks/types/section.blade.php Yok settings.layout_name; settings.spacing Yalnızca alt bloklar Kapsayıcıdır; açık bir alt öğe beyaz listesi yoktur resources/views/pages/partials/blocks/section.blade.php Kök öğesine kendisi sahiptir clear PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest 3. Aşama, Bölüm'ü yalnızca yerleşim odaklı tutar: ortak yerleşim ayarları kanonik kalır, anlamsal köküne blok kendisi sahiptir ve kullanıcıya görünen metinler rastgele ayarlara taşınmaz.
container Kapsayıcı layout resources/views/admin/blocks/types/container.blade.php Yok settings.layout_name; settings.width; settings.flow Yalnızca alt bloklar Kapsayıcıdır; açık bir alt öğe beyaz listesi yoktur resources/views/pages/partials/blocks/container.blade.php Kök kapsayıcı öğesine kendisi sahiptir clear PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Eski varsayılan, ayar yapılmadığında hâlâ yığılmış (stacked) akışa geri döner; açıkça seçilen Flow: None ise yerleşimden bağımsız birleştirme yolu olmaya devam eder.
cluster Küme layout resources/views/admin/blocks/types/cluster.blade.php Yok settings.layout_name; settings.gap; settings.alignment; settings.items_alignment; settings.wrap; settings.width Yalnızca alt bloklar Kapsayıcıdır; açık bir alt öğe beyaz listesi yoktur resources/views/pages/partials/blocks/cluster.blade.php Kök küme öğesine kendisi sahiptir clear PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Ortak yerleşim ayarları açık ve renderer'a ait kalır; buna navbar'a özgü mantık eklenmeden, mevcut navbar uyumlu tam genişlik, between, center ve nowrap birleştirme yolu da dahildir.
grid Izgara layout resources/views/admin/blocks/types/grid.blade.php Yok settings.layout_name; settings.columns; settings.gap Yalnızca alt bloklar Kapsayıcıdır; açık bir alt öğe beyaz listesi yoktur resources/views/pages/partials/blocks/grid.blade.php Kök ızgara öğesine kendisi sahiptir clear PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest Ortak ızgara ayarları kanonik kalır ve genel çıktı, üründe yer alan wb-grid- ve desteklenen wb-gap- sınıf eşlemeleriyle sınırlı kalmaya devam eder.

Desen

Slug Etiket Kategori Yönetim formu kaynağı Çevrilebilir alanlar Ortak/ayar alanları Medya/ilişki alanları Alt öğe/kapsayıcı davranışı Genel (public) renderer kaynağı Renderer kök sözleşmesi Mevcut durum Testler / kapsam Bilinen eksikler / notlar
content_header İçerik Başlığı pattern resources/views/admin/blocks/types/content_header.blade.php title, subtitle, meta metin çeviri satırları üzerinden settings.alignment meta, yapılandırılmış liste içeriği olarak saklanır Kapsayıcı değildir resources/views/pages/partials/blocks/content_header.blade.php Kök öğesine kendisi sahiptir clear PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest, BlockTranslationIntegrityTest İçerik Başlığı, içerik kabuğu görevi gören bir desen bloğudur. Başlık, giriş ve meta metinlerini dile (locale) ait tutar, başlığını her zaman H1 olarak işler, işleme sırasında eski kayıtlı başlık düzeyi değerlerini yok sayar ve yalnızca hizalamayı ortak tutar.
alert Uyarı pattern resources/views/admin/blocks/types/alert.blade.php title, content metin çeviri satırları üzerinden settings.variant Yok Kapsayıcı değildir resources/views/pages/partials/blocks/alert.blade.php Uyarı köküne kendisi sahiptir clear PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest Ortak varyant ile çevrilen metinler sorunsuz biçimde örtüşür.

Gezinme

Slug Etiket Kategori Yönetim formu kaynağı Çevrilebilir alanlar Ortak/ayar alanları Medya/ilişki alanları Alt öğe/kapsayıcı davranışı Genel renderer kaynağı Renderer kök sözleşmesi Mevcut durum Testler / kapsam Bilinen eksikler / notlar
link-list Link List navigation resources/views/admin/blocks/types/link-list.blade.php title, subtitle, content metin çevirisi satırları üzerinden Yok Alt link-list-item blokları Kapsayıcı; yalnızca link-list-item alt öğeleri resources/views/pages/partials/blocks/link-list.blade.php Alt satırlar mevcut olduğunda .wb-link-list köküne sahiptir clear LinkListBlockTest, PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest, BlockTypePhaseThreeContractsTest 3. Faz, alt öğe davranışını değiştirmeden mevcut çevrilmiş giriş metnini artık genel bağlantı listesinin üzerinde gösteriyor.
link-list-item Link List Item navigation resources/views/admin/blocks/types/link-list-item.blade.php Zorunlu title, isteğe bağlı subtitle, isteğe bağlı content metin çevirisi satırları üzerinden Zorunlu ortak url Üst link-list ilişkisi Kapsayıcı değil resources/views/pages/partials/blocks/link-list-item.blade.php Satır bağlantısı köküne sahiptir ve içerik boş olduğunda açıklama öğesini atlar clear LinkListBlockTest, PageBuilderExperienceTest, PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest Ortak URL ile çevrilmiş satır metni tutarlıdır.
toc TOC navigation resources/views/admin/blocks/types/toc.blade.php Yok Yalnızca kanonik title Aynı sayfadaki, geçerli çapalara sahip yayında header blokları Kapsayıcı değil; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleşimi desteklenmez resources/views/pages/partials/blocks/toc.blade.php Başlıklar mevcut olduğunda oluşturulan TOC sarmalayıcısına sahiptir clear PublicRichContentTest, PageBuilderExperienceTest 3. Faz, TOC'yi yalnızca keşfedilen sayfa başlıklarına odaklı tutar ve rastgele alt blokları artık genel TOC içeriği olarak ele almaz.
breadcrumb Breadcrumb navigation resources/views/admin/blocks/types/breadcrumb.blade.php Yok Ortak settings.home_label; settings.include_current Geçerli sayfa, site ve dil (locale) breadcrumb bağlamı Kapsayıcı değil resources/views/pages/partials/blocks/breadcrumb.blade.php köküne sahiptir clear PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest 3. Faz, sunulan breadcrumb ayarlarını ortak BlockRequest yolu üzerinden korur; böylece form davranışı artık kalıcılık ve render işlemiyle uyumludur.
header-actions Header Actions navigation resources/views/admin/blocks/types/header-actions.blade.php Yok Ortak settings.show_mode_toggle; settings.show_accent_toggle; settings.show_search Arama rotası ve istemci tarafı UI kancaları Kapsayıcı değil resources/views/pages/partials/blocks/header-actions.blade.php Yalnızca iç eylem kümesine sahiptir clear PublicEditorialBlocksRenderingTest Sistem yardımcı bloğu; tasarım gereği çeviri sahipliği yoktur.
sticky-navbar Navbar navigation resources/views/admin/blocks/types/sticky-navbar.blade.php Yok settings.layout_name; settings.sticky_mode İç içe navbar alt blokları Kapsayıcı; izin verilen alt öğeler: container, cluster, header, plain_text, rich-text, button_link, navbar-brand, navbar-navigation, header-actions, search-form resources/views/pages/partials/blocks/sticky-navbar.blade.php Genel renderer, dıştaki köküne sahiptir clear PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, BlockTypePhaseThreeContractsTest 3. Faz, kalıcı sticky-navbar slug'ını Block::ownsPublicRoot() ile hizalar; böylece Navbar artık fazladan genel bir blok sarmalayıcısı almaz.
navbar-brand Navbar Brand navigation resources/views/admin/blocks/types/navbar-brand.blade.php title, subtitle metin çevirisi satırları üzerinden Ortak settings.url; settings.target; settings.aria_label media_id üzerinden ortak logo medyası; site ana sayfa URL'si geri dönüşü Kapsayıcı değil resources/views/pages/partials/blocks/navbar-brand.blade.php Yalnızca iç marka bağlantısına sahiptir clear PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTranslationIntegrityTest, BlockTypePhaseThreeContractsTest 3. Faz, yönetim tarafındaki kaydetme davranışını yayınlanan renderer sözleşmesiyle hizalar: açıkça kaydedilmiş URL önceliklidir; yoksa mevcutsa geçerli site ana sayfa yolu kullanılır, son güvenli geri dönüş olarak da / kullanılır.
navbar-navigation Navbar Navigation navigation resources/views/admin/blocks/types/navbar-navigation.blade.php Yok Ortak ARIA etiketi olarak kanonik title; settings.menu_key Ortak NavigationItem menü ağacı Kapsayıcı değil resources/views/pages/partials/blocks/navbar-navigation.blade.php Yalnızca iç gezinme sarmalayıcısına sahiptir clear PublicEditorialBlocksRenderingTest Ortak menü bağlama ve ARIA etiketi, mevcut ürün sahipliğindeki davranıştır.
sidebar-brand Sidebar Brand navigation resources/views/admin/blocks/types/sidebar-brand.blade.php title, subtitle metin çevirisi satırları üzerinden Ortak settings.url; settings.target; settings.aria_label media_id üzerinden ortak logo medyası; site ana sayfa URL'si geri dönüşü Kapsayıcı değil resources/views/pages/partials/blocks/sidebar-brand.blade.php Yalnızca iç marka bağlantısına sahiptir clear PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTranslationIntegrityTest, BlockTypePhaseThreeContractsTest 3. Faz, Sidebar Brand'e Navbar Brand ile aynı yalnızca-logo erişilebilir ad geri dönüş sırasını ve aynı temkinli ortak URL geri dönüş sözleşmesini verir.
sidebar-navigation Sidebar Navigation navigation resources/views/admin/blocks/types/sidebar-navigation.blade.php title metin çevirisi satırları üzerinden Ortak settings.menu_key; settings.layout_name; settings.show_icons; settings.active_matching CMS NavigationItem ağacı veya manuel alt bloklar Kapsayıcı; yalnızca sidebar-nav-item ve sidebar-nav-group alt öğeleri resources/views/pages/partials/blocks/sidebar-navigation.blade.php köküne sahiptir clear PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest Ortak menü modu ayarları ve manuel alt öğe modunun her ikisi de açıkça tanımlıdır.
sidebar-nav-item Sidebar Nav Item navigation resources/views/admin/blocks/types/sidebar-nav-item.blade.php title metin çevirisi satırları üzerinden Ortak settings.url; settings.target; settings.icon; settings.active_mode; settings.manual_active Ortak simge kataloğu slug'ı; üst kenar çubuğu ilişkisi Kapsayıcı değil resources/views/pages/partials/blocks/sidebar-nav-item.blade.php Kenar çubuğu bağlantısı köküne sahiptir clear PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest Ortak bağlantı davranışı ile çevrilmiş etiket iyi örtüşür.
sidebar-nav-group Sidebar Nav Group navigation resources/views/admin/blocks/types/sidebar-nav-group.blade.php title metin çevirisi satırları üzerinden Ortak settings.icon; settings.initially_open; settings.layout_name Alt sidebar-nav-item blokları; simge kataloğu slug'ı Kapsayıcı; yalnızca sidebar-nav-item alt öğeleri resources/views/pages/partials/blocks/sidebar-nav-group.blade.php .wb-nav-group köküne sahiptir clear PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTranslationIntegrityTest, BlockTypePhaseThreeContractsTest 3. Faz, yayınlanan WebBlocks UI nav-group sarmalayıcı sözleşmesini korurken iç içe manuel alt bağlantılar artık href, target, simge ve etkin durum çıktısı için aynı kenar çubuğu öğesi semantiğini yeniden kullanır.
search-form Search Form navigation resources/views/admin/blocks/types/search-form.blade.php title, subtitle, content metin çevirisi satırları üzerinden Ortak variant; settings.show_button Arama rotası, site ve dil (locale) bağlamı Kapsayıcı değil resources/views/pages/partials/blocks/search-form.blade.php köküne sahiptir clear SearchFormTest, PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest Ortak düğme görüntüleme ayarları ve çevrilmiş etiketler açıkça tanımlıdır.
sidebar-footer Sidebar Footer navigation resources/views/admin/blocks/types/sidebar-footer.blade.php title, subtitle, content metin çevirisi satırları üzerinden Ortak settings.variant Yok Kapsayıcı değil resources/views/pages/partials/blocks/sidebar-footer.blade.php İç altbilgi bloğu köküne sahiptir clear PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest Ortak varyant ile çevrilmiş metin doğrudan ve nettir.

Formlar

Slug Etiket Kategori Yönetim formu kaynağı Çevrilebilir alanlar Ortak/ayar alanları Medya/ilişki alanları Alt öğe/kapsayıcı davranışı Genel renderer kaynağı Renderer kök sözleşmesi Mevcut durum Testler / kapsam Bilinen eksikler / notlar
contact_form Contact Form form resources/views/admin/blocks/types/contact_form.blade.php title, content, submit_label, success_message iletişim formu çeviri satırları üzerinden Ortak settings.recipient_email; settings.send_email_notification; settings.store_submissions contact_messages gönderimleri bloğa ve sayfaya geri bağlanır Kapsayıcı değil resources/views/pages/partials/blocks/contact_form.blade.php section.wb-card köküne sahiptir ve /contact-messages adresine gönderim yapan, CSRF korumalı yerel bir form üretir clear ContactFormModuleTest, InternalContentApiTest, ContactMailDiagnoseCommandTest Renderer, normal ziyaretçi girdisi olmayan ve manuel olarak oluşturulmaması gereken, CMS'e ait gizli, otomatik üretilen bir spam önleme denetim alanı üretir. Denetim alanı doldurulmuş gönderimler, kayıt veya bildirim olmadan genel bir başarı yanıtı döndürür. Meşru mesajlar bildirimden önce kaydedilir, spam olarak puanlanan içerik yönetici incelemesi için saklanır, alıcı geri dönüş sırası blok, site, CONTACT_RECIPIENT_EMAIL ve ardından MAIL_FROM_ADDRESS şeklindedir; İletişim sayfaları ikame olarak Trusted HTML/ham formlar/mailto: kullanmamalıdır.

Gelişmiş

Slug Etiket Kategori Yönetim formu kaynağı Çevrilebilir alanlar Ortak/ayar alanları Medya/ilişki alanları Alt öğe/kapsayıcı davranışı Genel renderer kaynağı Renderer kök sözleşmesi Mevcut durum Testler / kapsam Bilinen eksikler / notlar
html HTML (Trusted) advanced resources/views/admin/blocks/types/html.blade.php Yok Kanonik güvenilir HTML content Genel katman (overlay) ve gövde sonu kayıtları ayıklanmış parçaları alabilir Kapsayıcı değil; geçmişten kalan alt satırlar korunur ancak yeni alt öğe yerleşimi desteklenmez resources/views/pages/partials/blocks/html.blade.php Güvenilir işaretlemenin etrafında bir sarmalayıcı 'e sahiptir ve ayrıca bant dışı katman (overlay) veya gövde sonu içeriği de üretebilir mostly clear PublicEditorialBlocksRenderingTest, PublicRichContentTest, PageBuilderExperienceTest 3. Faz, Trusted HTML'i genel bir alt öğe kapsayıcı sarmalayıcısı olarak ele almayı bırakır. Güvenilir işaretleme, görünür kökün ötesinde ortak katman (overlay) veya gövde sonu çıktısını yine de etkileyebilir.

Doğrulama ve Kalıcılık Genel Bakışı

Yayında olan blok tipleri bugün her biri için ayrılmış kendi istek (request) sınıfına sahip değildir.

  • App\Http\Requests\Admin\BlockRequest ortak düzenleme isteği yoludur
  • bu istek içindeki slug'a özgü dallar, alanları mevcut kanonik depolamaya normalleştirir
  • App\Support\Blocks\BlockPayloadWriter normalleştirilmiş blok yükünü kalıcı hale getirir
  • App\Support\Blocks\BlockTranslationWriter dile (locale) ait alanları kayıtlı aileler için çeviri satırlarına taşır
  • App\Support\Blocks\BlockTranslationResolver çevrilmiş veya geri dönüş değerlerini render edilebilir bir blok örneğine geri çözümler

Bu ortak istek yolu, 1. Fazın herhangi bir şema güdümlü düzenleme çalışmasından önce ilk olarak sözleşmeleri belgelemesinin nedenlerinden biridir.

Eksikler ve Bekleyen İşler

Mevcut 3. Faz düzeltmelerinden sonra kalan yüksek önemdeki eksikler:

  • gallery, kanonik sıralı block_media satırları eksik olduğunda hâlâ ayarlara dayalı eski bir geri dönüş öğe yolunu koruyor
  • table renderer'ı, çekirdek yönetim formu çevrilmiş satır metnini yazsa da hâlâ eski bir settings.rows geri dönüş yolunu destekliyor
  • hero, kanonik çevrilmiş giriş alanları boş olduğunda hâlâ eski alan geri dönüşlerini koruyor
  • feature-grid ve feature-item kaynak destekli oldukları için artık yayında, ancak ortak Columns veya Column Item sunum yolları üzerinde bilinçli olarak geçici temsilci (delegate) sözleşmeleri olarak kalıyorlar
  • tabs, slider, menu ve faq-list, uyumluluk formları veya renderer'larıyla hâlâ eski taslak katalog satırları olarak duruyor; ancak yayında olan çekirdek sözleşmeler değiller ve sözleşme kipinde (modal) ve denetim çıktısında güvenli biçimde başarısız olmaya devam etmeliler
  • showcase-list ve contact-info hâlâ yalnızca genel render uyumluluk yolları olarak var; yayınlanmış çekirdek katalog blokları değiller; ayar güdümlü bağlantıları artık diğer blok renderer'larıyla aynı güvenli genel URL kurallarını izliyor
  • yayında ve taslak kataloglar bir arada bulunuyor; bu nedenle gelecekteki yönetim arayüzü, yayında olan çekirdek sözleşmeler ile taslak veya kuruluma özgü satırlar arasındaki ayrımı açıkça korumalı

Önerilen 3. Faz

Blok grupları için önerilen sonraki standartlaştırma çalışması:

  • yerleşim, içerik, gezinme, desen ve gelişmiş gibi kararlı, ürün sahipliğindeki blok gruplarını tek bir doğruluk kaynağında tanımlayın
  • seçici gruplandırmalarını, dokümantasyon gruplandırmalarını ve Block Types yönetim gruplandırmalarını aynı kaynağa hizalayın
  • şu anda taslak veya geçiş aşamasında olan blokların hangilerinin desteklenen, arşivlenen veya açıkça eski (legacy) olacağına karar verin
  • herhangi bir şema güdümlü form çalışması başlamadan önce hangi sözleşmelerin çeviri destekli, hangilerinin bilinçli olarak yalnızca ortak olduğunu standartlaştırın

1. Faz Özeti

1. Faz, blok düzenleme davranışını, blok depolamayı veya genel render işlemini değiştirmeden mevcut yayında sözleşme envanterini oluşturur.

1. Faz sürümü için amaçlanan durma noktası buydu.

2. Faz Özeti

2. Faz, blok düzenleme davranışını, depolamayı, renderer'ları ve seçici davranışını değiştirmeden, belgelenen sözleşmeyi Block Types yönetiminde salt okunur bilgi olarak görünür kılar.

3. Faz Özeti

3. Faz, bir şema editörü, dinamik form oluşturucu veya veritabanı güdümlü blok form sistemi eklemeden, belgelenmiş düşük riskli sözleşme eksiklerini çözmeye başlar.

  • code artık başlık, etiket ve kod parçası gövdesi için mevcut metin çevirisi yolunu izliyor; sözdizimi dili ortak kalıyor
  • table artık başlık ve satır metni için mevcut metin çevirisi yolunu izliyor; tablo stili ortak kalıyor
  • breadcrumb artık kaydetme sırasında sunulan ortak ayarları koruyor
  • stat-card artık genel renderer'da mevcut isteğe bağlı URL'yi basit ve güvenli bir bağlantıyla kullanıyor
  • link-list artık mevcut çevrilmiş giriş metnini alt öğe listesinin üzerinde gösteriyor
  • sticky-navbar artık kalıcı Navbar kök sahipliğini Block::ownsPublicRoot() ile hizalıyor; böylece genel kabuk fazladan genel bir sarmalayıcı eklemiyor
  • image artık altyazı ve alternatif metin için mevcut görsel çevirisi yolunu izliyor; seçilen medya ve isteğe bağlı bağlantı URL'si ortak kalıyor
  • gallery artık öğe başına alternatif metin, altyazı, kaplama başlığı ve kaplama metni için dile (locale) ait block_gallery_item_translations kullanıyor; sıralı galeri medyası ve sunum ayarları ortak kalıyor, eski içerik için eski geri dönüş öğeleri korunuyor ve eski galeri başlığı/açıklaması normal düzenlemenin ve genel çıktının dışında tutuluyor
  • download artık görünür etiket ve yardım metni için mevcut metin çevirisi yolunu izliyor; seçilen medya ve düğme varyantı ortak kalıyor
  • file, video ve audio artık birinci sınıf yönetim formlarına ve istek normalleştirmesine sahip; böylece çevrilmiş görünür metin ile ortak medya veya URL kaynakları, zaten genel tarafta render ettikleri aynı sözleşme üzerinden gidip geliyor
  • image, gallery, download, file, video ve audio artık yeni rastgele alt öğe yerleşimini kabul etmiyor ve rastgele geçmiş alt ağaçları genel tarafta render etmiyor; mevcut alt satırlar yönetim blok ağaçlarında korunmaya devam ediyor
  • code, table, quote, toc ve html artık yeni normal alt öğe yerleşimini kabul etmiyor ve rastgele geçmiş alt ağaçları genel tarafta render etmiyor; mevcut alt satırlar yönetim blok ağaçlarında korunmaya devam ediyor
  • navbar-brand ve sidebar-brand artık temkinli bir kayıtlı URL veya site ana sayfası geri dönüş sözleşmesini paylaşıyor ve her ikisi de görünür metin zorlamadan yalnızca-logo çıktısı için güvenli erişilebilir adlandırmayı koruyor
  • sidebar-nav-group artık iç içe alt bağlantılar için sidebar-nav-item ile aynı manuel kenar çubuğu öğesi çıktı semantiğini yeniden kullanıyor; mevcut WebBlocks UI nav-group sarmalayıcı sözleşmesi korunuyor
  • section, container, grid, cluster, card ve content_header artık kayıt (registry), salt okunur yönetim sözleşme kipi, denetim çıktısı, dokümantasyon ve odaklı regresyon kapsamı genelinde aynı yayınlanan sözleşme kaynağını kullanıyor
  • hero, columns, column_item, cta, feature-grid ve feature-item artık yayınlanan çekirdek katalogda yayında, ortak sözleşme kaydında belgelenmiş durumda ve yalnızca taslak veya yetersiz belgelenmiş kalmak yerine kaynak destekli pazarlama veya yapılandırılmış içerik sözleşmeleri olarak kapsanıyor
  • yönetilen CTA düğmeleri ve yapılandırılmış alt öğeler için yalnızca-dil düzenlemeleri artık çevrilmiş etiketleri veya metni güncellerken ortak URL'leri koruyor
  • yerleşim temel öğeleri, ortak yerleşim ayarlarını ve alt yapıyı çeviri satırları veya rastgele metin alanları yerine kanonik blok depolamada tutuyor
  • card artık bileşebilir bir kabuk sözleşmesi kullanıyor: üst Card wb-card köküne sahip, Card bölgeleri wb-card-header, wb-card-body ve wb-card-footer'a sahip, bölge blokları yalnızca Card altında geçerli ve eski kaydedilmiş Card metni yalnızca minimal, bölgesiz bir geri dönüş renderer yolu üzerinden korunuyor
  • content_header çevrilmiş başlık, giriş ve meta metnini koruyor, başlığını her zaman H1 olarak render ediyor, eski kaydedilmiş başlık düzeyi değerlerini güvenle yok sayıyor ve semantik <header class="wb-content-header"> kökünü genel bir sarmalayıcı olmadan renderer sahipliğinde tutuyor
  • testimonial ve stats, bağımsız yayınlanmış çekirdek sözleşmeler olarak değil, mevcut Quote veya Columns render yollarına devreden yalnızca-takma-ad davranışı olarak dürüstçe belgelenmeye devam ediyor
  • tabs, slider, menu ve faq-list, yayınlanmış çekirdek sözleşmeler değil, taslak veya takma ad dönemi uyumluluk slug'ları olarak kalıyor; showcase-list ve contact-info ise yayınlanan çekirdek sözleşme girdisi olmayan, yalnızca genel tarafta çalışan uyumluluk renderer'ları olarak kalıyor