Yepyeni modülümü çalışabilmesi için Drupal 7'nin minimum sürümüne nasıl bağımlı hale getirebilirim?


10

Yepyeni bir modül geliştiriyorum (henüz kullanan herhangi bir site yok). hook_taxonomy_term_view()Drupal çekirdek 7.17 sürümünde tanıtılan kancayı kullandığı için belirli bir Drupal sürümü gerektirir .

Modülümün Drupal 7.16 veya Drupal çekirdeğinin önceki sürümlerini kullanan bir sitede etkinleştirilmesini önlemek istiyorum. 7.17'nin üzerindeki Drupal'ın daha yüksek versiyonları iyi olmalıdır.

Sorum : Modülümü modülüm için minimum olan Drupal 7.17 sürümüne nasıl bağımlı hale getirebilirim?

Not: Modülün kurulu olduğu siteler için bir çözüme ihtiyacım yoktur (endişelenmem gerekir). Dolayısıyla, bu tür 7.17 öncesi Drupal versiyonlarında bir şekilde devre dışı bırakılmasına gerek yoktur.


Kodda kullanmam gereken bir kanca ile ilgili olduğu için soru kancalarla etiketlenmiştir . kancalar , kullanabileceğim bir kanca aradığım anlamına gelmez; Modülün Drupal 7.17 veya üstü kullanmayan bir siteye yüklenmesini önlememe izin veren herhangi bir çözüme açığım.
kiamlaluno

Başka bir modülün küçük bir sürümünü isteyebilirsiniz, dependencies[] = mymodule (1.12)ancak bu çekirdek için işe yaramaz gibi görünüyor.
AyeshK

@AyeshK Uh! Beni her zaman etkin olan bir Drupal çekirdek modülüne yönlendirebilirseniz, bu ilginç olabilir.
kiamlaluno

Ben dependencies[] = taxonomy (>7.17)ve bazı diğer olası sürüm numaraları ile denedim ama işe yaramadı.
AyeshK

Yanıtlar:


11

Hüner, görünüşe göre, sistem modülünü şu şekilde kullanmaktır:

dependencies[] = system (>=7.17)

4
Doğru olan bu. Kaynak: dww ve ben sürüm bağımlılık denetleyicisi yazdı. Bu konuda drupal4hu.com/node/274 adresinde blog yazdım ve şimdi de drupal.org/node/542202 adresindeki ilgili el kitabı sayfasına ekledim .

7

hook_requirements() tam olarak bu tür bir amaç için var olur.

Kurulum gereksinimlerini kontrol edin ve durum raporlaması yapın.

$phaseModülün kurulup kurulmadığını belirlemek için parametreyi kontrol edebilir, mevcut Drupal sürümünü gerekli sürümünüzle karşılaştırabilir ve önem derecesini döndürebilirsiniz REQUIREMENT_ERROR. Bu, gereksinim karşılanıncaya kadar modülün takılmasını önleyecektir.

Belgeler oldukça kapsamlı, burada bahsetmeye değer bir şey, kanca modülün .install dosyasında uygulanması gerektiğidir.


Bu doğru cevap değil Neden bu kadar ağır seçildiğine dair hiçbir fikrim yok.

@chx Sözünüzü alacağım, ancak bu durumda "Kurulum gereksinimlerini kontrol edin ve durum raporlaması yapın" işlevinin açıklaması . biraz yanıltıcı değil mi? Sonuçta özellikle kurulum sırasında modül gereksinimlerini kontrol etme hakkında konuşuyoruz :)
Clive

1
@Chapabu Belgelere göre değil :) Özellikle modüller hakkında konuşur ve temelde bu REQUIREMENT_ERRORmodülün gereksinimleri karşılayamazsa takılmadığından emin olmak için bu kancayı kullandığını söyler . Ben Drupal versiyonunun kontrol geçerli bir kullanım durumu (docs söz etmeyin idi düşünmüştü değil yapıyor) ama bir şey kaçırmış herhalde. Sadece kötü bir uygulama ya da bilmediğim bir şey olabilir
Clive

1
@Clive Garip, o andan itibaren nereden aldığımı bilmiyorum .. belki D8 sadece bir docs yükseltme olmalıdır ;-)
Chapabu

1
@chx Cehaletimi mazur göstermelisiniz, bunu daha önce hiç yapmadınız ... Sorun D8'e karşı devam ediyor ve sonra destekleniyor mu? Sizce tüm metnin değişmesi gerekiyor mu yoksa modül / çekirdek sürümlerini, yalnızca kütüphane gereksinimlerini, vb. Teşekkürler
Clive

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.