Özel alanlar
Özet
Özel alanlar, mevcut Strapi türlerinin girdilerini değiştirmek için bir yol sağlar ve içerik düzenleme deneyimini iyileştirir.
Ayrıntılı tasarım
Bir özel alanın hem admin panelinde hem de sunucuda kaydedilmesi gerekir.
Sunucu
Bir özel alanı sunucuda kaydetmek için belgelere bakın.
Özel alan, sunucu kaydetme yaşam döngüsü sırasında Strapi'ye eklenecektir.
type: customField
, bir içerik tipi veya bileşeni için schema.json'da kaydedildiğinde, uygulama başlatıldığında ve tüm özel alanlar yüklendikten hemen sonra convertCustomFieldType fonksiyonu çağrılarak altında yatan Strapi veri tipine dönüştürülür.
Admin
Bir özel alanı admin paneline kaydetmek için belgelere bakın.
Bir içerik tipi veya bileşen üzerinde kaydedilen özel alan, formatAttributes fonksiyonu aracılığıyla kaydetmeden hemen önce, altında yatan veri tipinden type: customField
tipine dönüştürülecektir.
Paketleme
Bir özel alan, ya bir Strapi uygulamasında ya da bir Strapi eklentisinde kaydedilebilir. Ancak yalnızca npm üzerinde paket yayınlayarak eklentiler aracılığıyla paylaşılabilirler.
Örnekler
Dezavantajlar
- Strapi'de özel bir veritabanı türü oluşturma yeteneği henüz sunulmamaktadır.
- İçerik Tipi Yapıcı'da bir özel alanın temel ve gelişmiş formlarını genişletirken, özel giriş bileşenlerini içe aktarmak henüz mümkün değildir.
- Özel alanların ilişki, bileşen, dinamik alan ve medya türlerini kullanmalarına izin verilmiyor.
Alternatifler
Özel alanlar için özel paketler yapmayı düşünüyoruz ancak:
- Özel alanların eklenti API'sinden diğer özelliklere erişim sağlama yeteneği olmayacak. Bu her zaman gerekli olmasa da, özel alanların ihtiyacı olduğunda daha gelişmiş davranışlar uygulamasını sağlar. Örneğin, bir özel alan gerektiğinde enjekte alanlarını da kullanabilir.
- Yeni bir özel alan türü paketi tanıtmak, Strapi'de yeni bir yükleyici ve pazar yerinde yeni bir bölüm ile inceleme süreçleri gerektirecekti, bu da özelliği göndermeyi daha karmaşık hale getirecekti.
- Bir özel alan için basit bir eklenti API'sinin gereksiz karmaşıklığını azaltmak, yalnızca bir özel alan için gerekli dosyaları oluşturan yeni bir eklenti jeneratörü ekleyerek sağlanabilirdi.