Boş modül nasıl oluşturulur? [kapalı]


15

Drupal'da oluşturulabilecek en temel geçerli modül nedir?

Drupal'a yeni başlayan biri için basit bir taslak hazır bulundurmak yararlı olacaktır.

Yanıtlar:


26

Aşağıdaki talimatlar boş bir modül oluşturulmasına izin verir ve modül yapımına yeni başlayan herkes için yararlıdır. İlk modülünüzü çalıştırmakta veya Drupal'da göstermekte zorlanıyorsanız, aşağıdaki tüm talimatları okuduğunuzdan emin olun.

Drupal 8

Bir projectvar en azından zorunluluk

  1. Bir makine adı.
  2. Aşağıdaki adlara sahip biçimde, makine adından sonra adlandırılan bir yaml bilgi dosyası module-machine-name.info.yml:
    1. name: İnsanca okunabilir bir isim
    2. type:Bir türü tanımlayan a module.
    3. core:8.xBu durumda , modülün ana Drupal çekirdek sürümü ile uyumludur .
  3. Boş bir modül dosyası, formdaki ad module-machine-name.module

Drupal, web kökünden görüldüğü gibi bu konumlardaki modülleri arar:

  1. /modules/
  2. sites/[example.com]/modules
  3. sites/default/modules
  4. profiles/[install-profile]/modules

Teknik olarak, Drupal modülleri de arar core/modules, ancak biri asla modülleri oraya yerleştirmemelidir, bu yüzden yukarıdaki listede değildir.

Makine adına sahip bir modül için örnek bir modül yapısı helloworldşöyle görünecektir:

/modules/helloworld/helloworld.info.yml

/modules/helloworld/helloworld.module

Hem bilgi hem de modül dosyasının, makine adıyla tamamen aynı şekilde adlandırıldığına dikkat edin; bu da önemlidir.

Modül dosyası boş olabilir, ancak bilgi dosyası Drupal'ın modül olarak tanıması için birkaç minimum değer içermelidir. Helloworld modülümüz için bu şöyle görünebilir:

name: 'Hello world module to demonstrate module building'
core: 8.x
type: module

Yukarıdaki talimatları uygularsanız, bu aşamada hiçbir şey yapmasa da, Drupal sitenizde listelenen yeni bir modül alabilmeniz gerekir.

Drupal 7

Bir modülün en azından

  1. Bir makine adı.
  2. İnsanca okunabilir bir isim
  3. Makine adından sonra adlandırılan bir bilgi dosyası.
  4. Boş bir modül dosyası.

Drupal tarafından yüklenebilmesi için, hangi çekirdek sürümle uyumlu olduğunu da tanımlaması gerekir.

Drupal, bu konumlardaki modülleri arar:

  1. sites/all/modules/
  2. sites/[example.com]/modules
  3. sites/default/modules
  4. profiles/[install-profile]/modules

Teknik olarak, Drupal modülleri de arar modules, ancak biri asla modülleri oraya yerleştirmemelidir, bu yüzden listede değildir.

Makine adına sahip bir modül için örnek bir modül yapısı helloworldşöyle görünecektir:

sites/all/modules/helloworld/helloworld.info

sites/all/modules/helloworld/helloworld.module

Hem bilgi hem de modül dosyasının, makine adıyla tamamen aynı şekilde adlandırıldığına dikkat edin; bu da önemlidir.

Modül dosyası boş olabilir, ancak bilgi dosyası modülün insan tarafından okunabilir adını ve modülün uyumlu olduğu çekirdek sürümü içermelidir.

Helloworld modülümüz için bu şöyle görünebilir:

name = Hello world module to demonstrate module building
core = 7.x

Yukarıdaki talimatları uygularsanız, bu aşamada hiçbir şey yapmasa da, Drupal sitenizde listelenen yeni bir modül alabilmeniz gerekir.


ve ayrıca sites/default/... sadece ...
tenken

Kesinlikle haklısın, düzeltin. :) Hangi siparişi kontrol etmeliyim ve doğru olduğundan emin olmalıyım.
Letharion

Drupal 8 için artık sadece module-machine-name.info.yml dosyasına ihtiyacınız var. .Module dosyasının artık etkin bir modüle sahip olması gerekmez. Çok yararlı değil ama mümkün :)
14'te

1
D8: .module ve .profile dosyalarına artık gerek yoktur. drupal.org/node/2217931
sobi3ch

1
Drupal 8: Ne olmuş drupal generate:module?
Screenack

8

Drupal 8 için, soru bir plandan bahsettiğinden, Drupal Konsol projesinden bahsettiğimi düşünüyorum .

Kurulduktan sonra, modül kodu (ve özel varlıklar için iskele, eklentiler, vb.) Üretilebilir.

Komut satırından bir temel modül oluşturmak için: drupal generate:module. Daha sonra, bazı temel bilgi toplama işlemleri istenir ve modül dosyalarının sonunda bırakılır:

Drupal konsol modülü üretimi

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.