Die neue Version meines Moduls hängt von mehr Modulen ab als der alten Version. Wie können Modulbenutzer sie installieren?

drupal.stackexchange https://drupal.stackexchange.com/questions/1031

  •  16-10-2019
  •  | 
  •  

Frage

Ich aktualisiere ein vorhandenes Modul, das ich entwickelt habe. Die neue Version erfordert ein "Helfer" -Modul, das die alte Version nicht getan hat (FWIW, insbesondere "Nodereference Count"). Wie stelle ich sicher, dass Personen, die von der vorherigen Version meines Moduls auf die neue Version ein Upgrade von Personen, sicherstellen, dass sie zuerst das neu erforderliche Helfer -Modul installieren?

Gibt es etwas, das ich in die Funktion hook_update_n einsetzen sollte?

Vielen Dank.

War es hilfreich?

Lösung

Du könntest benutzen Hook_Requirements (), damit Sie einen Fehler anzeigen können, wenn das Modul installiert/aktualisiert wird.

Wenn das nicht funktioniert, können Sie alternativ implementieren Hook_init () Um die Module zu überprüfen und entsprechend zu reagieren.

Aktualisieren: Ich bin gerade selbst auf das gleiche Problem gestoßen und hier ist der Code, den ich verwendet habe:

/**
 * Implements hook_init().
 */
function MYMODULE_init() {
  if (!module_exists('ctools')) {
    module_enable(array('ctools'));
    if (!module_exists('ctools')) {
      drupal_set_message(t('MYMODULE has been disabled as the required !ctools module is not present.', array('!ctools' => l(t('Chaos tool suite'), 'http://drupal.org/project/ctools'))), 'error');
      module_disable(array('MYMODULE'));
    }
  }
}

Dies wird versucht, das erforderliche Modul zu aktivieren, und wenn dies nicht möglich ist, wird eine Fehlermeldung an den Benutzer angezeigt und das My -Modul deaktiviert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit drupal.stackexchange
scroll top