是否可以简单地在模块中添加可选的依赖项?

时间:2013-11-28 15:22:12

标签: drupal module drupal-7

我正在创建一个drupal模块,我正在使用模块区域设置中的country_get_list()函数。

我想要的是提示用户启用语言环境模块以改善他的体验,但他可以拒绝。

在文档https://drupal.org/node/542202中,我看不到任何可选依赖项,只需要dependencies[] = locale所需的依赖项

如果我的代码我有类似的东西:

if(module_exists('locale')) {
    $form['locale'] = array(
      '#type' => 'select',
      '#title' => t('Locale'),
      '#options' => country_get_list(),
    );
  } else {
    $form['locale'] = array(
      '#type' => 'textfield',
      '#title' => t('Locale'),
    );
  }

是否有一种简单的方法可以使用optional_dependencies[] = locale在我的.info文件中执行此操作?

2 个答案:

答案 0 :(得分:1)

没有基于.info文件的方法来定义可选的依赖项。

在调用外部代码之前,通常会在这种情况下使用

module_exists

您可以实施hook_requirements在状态报告中显示一条消息,要求用户使用特定模块以获得更好的体验。

答案 1 :(得分:1)

https://drupal.org/node/820054中的支持将有助于为Drupal 8提供此功能。