Drush命令为Feature添加新的模块依赖项

时间:2011-02-20 22:41:43

标签: drupal drush

添加新模块依赖项时是否有drush命令更新功能?我知道您可以使用FU命令更新已添加的视图,内容类型等的更改...但我想知道添加新视图,内容类型和模块依赖项。到目前为止,我发现将这些更改合并到功能中的唯一方法是重新下载它。

谢天谢地,Git让这个过程比以前更容易使用SVN。

3 个答案:

答案 0 :(得分:8)

如果您习惯编辑.info文件,则功能用于识别应导出哪些组件的格式非常简单。例如:

  features[node][] = "node_type"
  features[view][] = "view_name"
  features[variable][] = "variable_name"

通过将任何这些添加到.info文件并运行drush fu,生成的模块将包含那些未预先导出的组件。功能将负责添加它认为应该在那里的任何其他零碎。

功能的模块依赖关系与Drupal中任何模块的模块依赖关系相同 - 只需将dependencies[] = "module_name"添加到您的功能的.info文件中。

这是我更新功能的主要方式,通过几个步骤,您可以创建并启用空白模块,并通过以这种方式向.info文件添加功能组件来“强化”它。

可以创建诸如drush features-add-component featurename --node=new_type之类的drush命令,但我不相信有一个已发布的命令可以执行此操作。有几个drush脚本具有扩展功能管理功能,分散在功能问题队列和一些正在开发的项目中。这样的命令的主要优点是功能UI的命令行版本 - 显示功能构建器哪些组件可用于导出。如果您可以轻松地手动编辑.info文件,那么该实用程序会受到限制。

答案 1 :(得分:6)

目前在drush中执行此操作的方法是“features-export”或“fe”。 (不推荐使用feature-add)

drush fe my_existing_feature dependencies:my_new_dependency

还有一些花絮:

该命令也可用于以完全相同的方式创建包含组件的新功能。唯一的区别是功能名称尚未作为功能存在。例如,这将创建一个包含节点类型的新功能:

drush fe my_new_feature node:my_node_type

最后,它与features-components(fc)命令齐头并进。您可以看到所有未导出组件的列表,如下所示:

drush fc --not-exported

作为一种快捷方式,您可以指定要查找的组件类型:

drush fc --not-exported field

您可以不使用 - 也不会导出以查看导出的组件,但我发现在实践中我只想查看未导出的组件。它允许我在Drupal中创建内容,然后在完成之后转到命令行并确保我创建的所有内容都导出到一个功能。

答案 2 :(得分:3)

现在你可以使用drush features-add(drush fa)来做同样的事情。 “drush fa”将生成一个可以添加到功能中的元素列表。如果您熟悉编辑.info文件或曾经查看过功能UI中的计算机名称,您将识别这些可突出元素的名称。

例如:

drush fa feature_name dependencies:views views_view:user_questions

这会将Views模块添加为依赖项,将视图“user_questions”添加为“feature_name”。

警告:此命令似乎是最近才添加的;我需要将功能更新到7.x-1.x-beta6才能获得它。不幸的是,它尚未被移植到D6,但希望很快就会发生;请参阅this issue获取进度以及在D6上为您提供“drush fa”的补丁。还有一些关于命令命名/功能的讨论;留意here,看看它是如何出现的。我会尝试更新这篇文章。