如何安全地为Drupal模块添加依赖项?

时间:2010-06-10 15:58:39

标签: drupal-6

我有一个Drupal 6模块的新版本。在新版本中,我在.info文件中添加了一个新的依赖项到我创建的名为lib_views的视图实用程序模块。

但是,升级模块时可能无法启用lib_views。如果不是,那么升级我的模块会导致无法恢复的崩溃,因为视图会触发一个钩子,该钩子在我未启用的lib_views模块中调用一个函数。

是否有任何安全的方法可以将新的依赖项添加到现有的Drupal模块中,以防止这种情况发生?

2 个答案:

答案 0 :(得分:1)

您可以强制drupal加载模块(例如,CCK模块的常见做法)。

示例:

function example_install() {
    drupal_load('module', 'content');
    content_notify('install', 'example');
}

在示例中,drupal_load首先加载“ content ”模块,然后content_notify是只能在内容模块可用时才能使用的函数示例。

因此,如果drupal_load调用返回FALSE,您可以检测到模块丢失并通知用户。

答案 1 :(得分:0)

Drupal 7在转到update.php时会自动处理这个问题(你想在更新模块后访问它)。我想另一种选择是通过更新功能显示警告信息。