Saya sedang mengembangkan modul baru (belum ada situs yang menggunakannya). Ini memerlukan versi Drupal tertentu, karena menggunakan hook_taxonomy_term_view()
pengait yang diperkenalkan di Drupal core versi 7.17 .
Saya ingin menghindari modul saya diaktifkan di situs menggunakan, misalnya, Drupal 7.16 atau versi Drupal core sebelumnya. Versi Drupal yang lebih tinggi, di atas 7.17, harus baik-baik saja.
Pertanyaan Saya : Bagaimana saya bisa membuat modul saya bergantung pada versi Drupal 7.17, yang merupakan minimum untuk modul saya?
Catatan: Saya tidak perlu (harus khawatir tentang) solusi untuk situs di mana modul sudah diinstal. Jadi tidak perlu untuk dinonaktifkan entah bagaimana dalam versi Drupal pra-7.17 tersebut.
dependencies[] = mymodule (1.12)
tetapi sepertinya ini tidak berfungsi untuk inti.dependencies[] = taxonomy (>7.17)
dan beberapa nomor versi yang mungkin tetapi tidak berhasil.Jawaban:
Caranya, tampaknya, adalah dengan menggunakan modul sistem seperti:
sumber
hook_requirements()
ada untuk tujuan semacam itu.Anda dapat memeriksa
$phase
parameter untuk menentukan apakah modul sedang diinstal, periksa versi Drupal saat ini terhadap versi yang diperlukan, dan kembalikan parahREQUIREMENT_ERROR
. Itu akan mencegah modul dari diinstal sampai persyaratan terpenuhi.Dokumentasinya cukup menyeluruh, satu hal yang perlu disebutkan di sini adalah bahwa kail perlu diimplementasikan dalam file .install modul.
sumber
REQUIREMENT_ERROR
untuk memastikan modul tidak diinstal jika gagal persyaratan. Saya berasumsi memeriksa versi Drupal adalah use case yang valid (dokumen tidak menyebutkan tidak melakukan itu) tapi saya kira saya telah melewatkan sesuatu. Mungkin hanya praktik buruk atau sesuatu yang tidak tahuAnda bisa menggunakan hook_enabled
Ini akan menyala setelah modul diinstal. Anda dapat memeriksa versi drupal yang diinstal dan jika itu bukan versi yang benar maka gunakan module_disable dan berikan pesan kesalahan yang diperlukan.
sumber