我正在尝试在我的一个Drupal 7站点上实现功能模块来管理块。不过我有几个问题。首先,当您在源站点上创建新功能时,您是否将新创建的功能放在模块目录中,并在源服务器和目标服务器上启用它或仅在目标服务器上启用它?
另外,我想知道它是如何工作的,当你试图管理块与测试服务器和实时服务器时,实时服务器是测试的克隆。换句话说,我们创建一个测试服务器,构建我们的网站,包括内容和块,当它完成后,我们克隆测试。然后,我们在测试中安装特性模块,并创建一个包含所有自定义块的特性。当我这样做并将该功能移动到活动服务器并启用它时,它立即处于覆盖状态。功能只意味着移动新的块从一个站点到另一个,而不是意味着管理块已经存在于两个服务器?我应该在测试服务器上创建包含所有块的功能,然后在实时服务器上删除块,然后在实时服务器上启用将填充实时块的功能吗?我只是不确定我是否错过了什么,还是用错了方法。
感谢更新:好吧,我在这里拔我的头发。同样,我有两个站点一个源站点和一个目的地站点。目标是源的精确克隆。我有三个块在这两个网站,我想通过功能管理。所以,在源网站上,我决定先测试一个块。我首先编辑的块,所以它会不同于一个在目的地网站。然后我创建了功能,包括块和块设置(顺便说一下,我使用额外的功能来完成这一点),然后我把功能放在目标网站上,当我激活功能时,功能实际上不是在一个覆盖的状态,我对源网站上的块所做的更改,显示在目标网站上没有问题。然而,如果我现在尝试将其他两个块添加到源站点上的此功能并重新创建它并将其导出到目标站点,则目标站点上的功能现在处于覆盖状态,这很好,但无论我多少次"还原"该功能以将块从dB中取出并放入代码中,它都不会摆脱覆盖状态。我已经刷新了缓存,禁用了该功能并重新启用,并尝试恢复,它被卡住为覆盖,我没有看到对我所做的其他两个块的更改。然后我想,也许是因为我要同时走三个街区。然后我单独拿了第二个块,为它创建了一个功能,并把它放在目标网站上,它陷入了覆盖状态。第3块也一样。块1本身是好的,不会陷入覆盖状态。只有2号和3号街区。据我所知,这三个块都是以同样的方式创建的,没有任何不同的设置,就角色,页面等而言。
评论不允许张贴这么多日志,所以作为回复。
如果没有确切的问题,我不能说太多。但这就是功能的运作方式。您必须在源站点中进行更改。然后为这些变化创建特征。现在在目标站点上,你必须启用该功能。如果您已经在目标站点中进行了更改,则该功能将被覆盖,您将恢复它并获得更改。正如你所说,你在功能中添加了另外两个块,但你没有改变这些块中的任何东西,所以它们已经在目标站点中。这就是为什么功能处于覆盖状态。当你恢复时,它会改变,但有时它不会改变状态(admin/structure/features/)。
我不知道你的确切要求,但我认为你应该改变做更改在源站点,然后选择他们在功能和启用在目标站点。