从另一个模块中配置Drupal模块

ctf*_*ord 3 drupal drupal-6

当我创建一个新的Drupal站点时,我通常最终会得到至少一个自定义模块和几个社区贡献的模块.为了使站点正常工作,需要在各个模块上设置许多配置值.这使得部署到一个新的Drupal实例上既费力又容易出错.

我想让我的自定义模块能够配置所有其他模块.无论是在安装时还是在我的自定义模块管理页面上单击按钮,其他模块上的所有必要配置值都将以编程方式设置.

我最好怎么做呢?

mac*_*mac 5

AFAIK,没有办法轻松实现你的意思.我倾向于尽可能多地放入hook_update_N()实现中,并按照我对这个问题的回答中的描述进行频繁的数据库同步.但是,当您已经拥有必须合并数据的实时服务器时,这不起作用.

为此,我根据需要使用各种工具.没有人是完美的,但这里是我最喜欢的一小部分:

  • 特色.这是一个新概念和一个新模块.这个想法非常棒:它允许您定义一组配置/模块/设置并将它们导出为一个功能.然后将安装此功能,就好像它是目标站点上的模块一样.此模块不会导出所有可能的设置,但它确实可以很好地处理需要最难配置的模块,如CCK,视图,ImageCache等......您可以在此处看到截屏演示(约10分钟).

  • 备份和迁移.这是一种更激进的方法:它只是在目标系统上转储和重建整个数据库.只有在需要完全覆盖目标系统时才有用.

  • 节点导出.这允许将节点从drupal安装导出(和导入)到另一个.它支持批量操作,但是 - 不幸的是 - 它不支持附加文件和映像的迁移.

  • 部署.由于节点导出的限制,我曾经研究过使用这个模块(仍处于开发阶段).我最终没有,并且更喜欢合并生产和临时数据库,但这个概念似乎非常有效,因为它允许通过SOAP导入/导出复杂数据类型.

  • 分类导入/导出.我想这个名字是不言自明的.它使用文件来完成任务(XML或CSV).

  • 安装配置文件(由ctford建议)在配置新站点时非常有用.它们允许您在安装时指定要启用的模块,默认指定主题等.它们非常方便,因为有一个名为Drush的命令行工具可以自动构建安装配置文件.缺点是配置文件设计用于安装 - 而不是单个模块的部署.但是,有可能获取Drush生成的配置代码,并在启用模块时调用它.

最后,您可以在此处找到用于导入/导出数据的工具集合.

HTH!