Drupal'ı ilk kez öğrenenlerin en çok zorlandığı şey terminolojidir. Oysa birkaç temel kavramı oturttuğunuzda sistemin geri kalanı çok daha anlaşılır hâle gelir. Bu yazıda Drupal'ın yapı taşlarını sade bir dille ele alıyoruz.

Entity (varlık)

Drupal'da neredeyse her şey bir entity'dir: içerikler, kullanıcılar, yorumlar, taksonomi terimleri… Entity, verinin en genel kabıdır. Entity'ler bundle adı verilen alt türlere ayrılır ve her bundle'ın kendi alanları olabilir.

Bu soyutlama Drupal'ın esnekliğinin temelidir: aynı sistem, tamamen farklı veri türlerini tutarlı biçimde yönetir.

Node (içerik)

Node, en sık karşılaşacağınız entity türüdür ve bir içerik parçasını temsil eder: bir haber, bir sayfa, bir ürün. Her node bir içerik tipine (content type) aittir.

İçerik tipi, node'ların şablonudur. Örneğin "Etkinlik" içerik tipi; başlık, tarih, konum ve açıklama alanlarına sahip olabilir. Yeni bir etkinlik eklediğinizde bu şablona uygun bir node oluşturursunuz.

Field (alan)

Field, entity'lere veri eklemenin yoludur. Metin, tarih, sayı, görsel, dosya veya başka bir entity'ye referans olabilir. Alanları arayüzden ekler ve yeniden kullanırsınız. Kod yazmadan zengin veri modelleri kurmanızı sağlayan şey budur.

Taxonomy (taksonomi)

Taxonomy, içeriği sınıflandırma sistemidir. Kategoriler ve etiketler taksonomi terimleridir. İçerikleri gruplamak, filtrelemek ve ilişkilendirmek için kullanılır.

Modüller

Modüller, Drupal'a yetenek ekleyen parçalardır:

  • Core (çekirdek) modüller: Drupal ile birlikte gelir.
  • Contrib modüller: Toplulukça geliştirilir, drupal.org'da ücretsiz sunulur (örn. Views, Pathauto, Webform).
  • Custom modüller: Projeye özel, kendiniz yazdığınız modüller.

Views

Views, en güçlü çekirdek özelliklerden biridir. Kod yazmadan içerik listeleri, tablolar, bloklar ve sayfalar oluşturmanızı sağlar. Örneğin "şu içerik tipindeki, şu etikete sahip, tarihe göre sıralı içerikleri listele" gibi sorguları arayüzden kurarsınız.

Tema (theme)

Tema, sitenin görünümünü belirler. Drupal, şablonlama için Twig kullanır; içerik (backend) ile sunum (frontend) böylece net biçimde ayrılır.

Blok ve menü

  • Bloklar: Sayfanın belirli bölgelerine yerleştirilen içerik parçaları (arama kutusu, son yazılar vb.).
  • Menüler: Site navigasyonunu tanımlar.

Toparlarsak

Bu kavramlar Drupal'ın "dili"dir. Entity ve node ile içeriği modellersiniz, field ile zenginleştirirsiniz, taxonomy ile sınıflandırırsınız, modüllerle yetenek eklersiniz ve tema ile sunarsınız.

Bu temeli oturttuysanız, sıradaki adım pratiğe geçmek: Composer ile Drupal kurulumu yazısıyla kendi ortamınızı kurabilirsiniz. Drupal'ın ne olduğuna dair genel resim için Drupal nedir? yazısına da göz atabilirsiniz.