Alan ve Alan Örneği arasındaki fark?


15

Biz yola giderken /admin/structure/types/manage/article/fieldsve kullanımı Add new fieldseçeneği veya Add existing fieldseçeneği, yani bir saha örneği oluşturun, bir alan oluşturmak veya bir saha örneği vermektedir? Aralarında nasıl ayrım yapılır? Peki, programlı olarak, field_create_field , field_create_instance ve field_attach API'sı ne zaman kullanılır ?

Alan API belgelerinde yalnızca yönetici kullanıcı arayüzünden bahseder ve hem alanların hem de alan örneklerinin oluşturulacağı yol hakkında asla konuşmaz. Bu yüzden kafa karıştırıcı. Bir anlam ifade edip etmediğimi bile bilmiyorum.



ve normal durumda, eklediğiniz her alan veritabanında yeni bir alan oluşturur ve varolan bir alanı eklediğinizde yeni bir tablo oluşturmaz, yalnızca varolan tabloya ekler.
Mohammed Shameem

1
@Mohammed Shameem, teşekkürler o zaman örnek nedir? Kullanım durumu nedir? Daha doğrusu gerçekte nerede kullanıyoruz?
Eugene Gerome

1
amaç veya işlev aynı olacaksa, aynı field örneğini kullanmak her zaman daha iyidir. örneğin, eklenecek aynı sınıflandırma sözlüğüne sahip farklı içerik türünüz var. her içerik türüne farklı alanlar oluşturmak yerine aynı alanı tüm içerik türüne eklemek daha iyi olur. Dahili olarak bu, drupal tarafından oluşturulan tablo sayısını azaltacaktır. ve kelimeleri aramak daha iyi olur.
Mohammed Shameem

1
Yolda gördüğümüz alanlar node/add/article, alan örnekleridir (birkaç farklı varlık türünde yeniden kullanılır). Ve yoldaki /admin/structure/types/manage/article/fieldsalanlar alanlardır. Veritabanında bir alan örneği tablosu görmüyorum, ancak yalnızca field_data tablosunu görüyorum, sanırım, /admin/structure/types/manage/article/fieldskullanarak yolu ilk kez oluşturduğumuzda aldık field_create_field. Ve bir örnek o zaman yolda gördükleri bir paket (bu durumda makale) takılır node/add/article.
Eugene Gerome

Yanıtlar:


24

Alan, alanın kendisinin temel tanımıdır. Alan örneği , bir varlığa / pakete eklenmiş o alanın bir örneğidir.

  1. Alanlar, field_create_field ile oluşturulur
  2. Field_create_instance içeren alan örnekleri

Alanın veya örneğin var olup olmadığını kontrol etmek için şunu kullanın:

  1. field_info_field veya
  2. field_info_instance

Kullanıcı arabirimi aracılığıyla bir alan oluşturduğunuzda, Drupal her zaman bu varlık / paket üzerinde bir alan örneği oluşturur.

Mevcut bir alanı ekliyorsanız, alan verileri klonlanır ve yeni varlık / pakette bir alan örneği oluşturulur.

Son olarak, saha ayarları bu alana global olarak uygulanır, alan örneği ayarları varlık paketleri arasında değişebilir.


2
Çok teşekkürler, şüphelerimi sildin. Bu ayrıcalığa sahip olsaydım yayınınızı + 1'leyebilirdim.
Eugene Gerome
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.