Drupal 7上的Features模块和块

时间:2013-04-15 17:13:42

标签: drupal drupal-7 migration drupal-blocks

我正在尝试在我的一个Drupal 7站点上实现Features模块来管理块。我有几个问题。 1,当您在源站点上创建新功能时,是否先将新创建的功能放入模块目录并在源服务器和目标服务器上启用它,或者只是在目标服务器上启用它?

另外,当您尝试使用测试服务器和实时服务器管理块时,当实时服务器是测试的克隆时,我想知道它是如何工作的。换句话说,我们创建一个测试服务器,构建我们的站点,包括内容和块,当它完成时,我们克隆测试生存。然后我们在测试时安装features模块并创建一个包含所有自定义块的功能。当我这样做并将该功能移动到实时服务器并启用它时,它立即处于被覆盖状态。功能仅用于将NEW块从一个站点移动到另一个站点,而不是用于管理已在BOTH服务器上存在的块吗?我是否应该创建包含测试服务器上所有块的功能,然后删除实时服务器上的块,然后启用实时功能,这将填充实时块。我只是不确定我是否遗漏了某些东西,或者说错误的方式。

感谢

更新:好的,我把头发拉到这里。同样,我有两个站点是源和目的地。目的地是源的精确克隆。我想通过功能管理这两个站点上有三个块。所以,在源网站上,我决定先测试一个块。我首先编辑了块,因此它与目标站点上的块不同。然后,我创建了包括块和块设置的功能(顺便说一下,我使用Features Extra来完成此操作),然后我将该功能放在目标站点上,当我激活该功能时,该功能实际上并未被覆盖状态以及我对源站点上的块所做的更改,显示在目标站点上没问题。但是,如果我现在尝试将其他两个块添加到源站点上的此功能并重新创建并将其导出到目标站点,则目标站点上的功能现在处于被覆盖状态,这很好,但无论如何多少次我“恢复”该功能以将块从dB中移出并进入代码,它将不会超出被覆盖的状态。我已刷新缓存,禁用该功能并重新启用,并尝试恢复它并被卡住被覆盖,我没有看到我所做的其他两个块的更改。然后我想也许是因为我一次做三个街区。然后,我自己拿了JUST第二个块并为它创建了一个功能并将它放在目标站点上,它被卡在覆盖状态。块编号3也是如此。块编号1本身很好,并且不会卡在覆盖状态。它只是第2和第3块。据我所知,所有三个块都是以相同的方式创建的,并且就角色,页面等没有任何不同的设置。我肯定会难以接受这个。

1 个答案:

答案 0 :(得分:1)

评论不允许这么多日志帖子,所以张贴为答案。

如果没有确切的问题,我不能说太多。但这就是功能的工作原理。您必须在源站点中进行更改。然后创建变化的特征。现在在目标站点上,您必须启用该功能。如果您已在目标网站中进行了此更改,则会覆盖该功能,并将其还原并进行更改。

正如您所说,您在功能中添加了其他两个块,但您没有更改这些块中的任何内容,因此它们已经位于目标站点中。这就是为什么功能被覆盖的状态。当你恢复它确实发生了变化,但有时它没有改变状态(admin / structure / features /)。

我不知道您的确切要求,但我认为您应该在源网站中更改执行更改,然后在功能中选择它们并在目标网站上启用。