是否可以防止站点接收多站点实例中由不同站点安装的模块?换句话说,多站点实例中的站点A可以不接收站点B安装的模块吗?
发布于 2018-02-19 19:52:45
是的,多站点系统可以做到这一点。来自多站点文档的站点特定模块和主题部分:
除了安装在标准“模块”和“主题”目录中的模块和主题之外,每个站点配置都可以有自己的站点特定模块和主题。要使用站点特定的模块或主题,只需在站点配置目录中创建一个“模块”或“主题”目录。例如,如果sites/sub.example.com/themes/custom_theme有一个自定义主题和一个其他站点不应该访问的自定义模块,则设置如下: sub.example.com /sub.example.com/ 站点/sub.example.com//_模块
因此,只需确保不应该将不应该共享的模块放在/SITE/all/模块中,而是将它们放在/SITE/SITE/模块中。
站点A可以“阻止”(因为没有更好的术语)一个由站点B安装的模块,哪个站点B安装到站点/所有/模块?
您可以在站点中实现hook_system_info_alter --独占模块,以防止某些模块在这些站点上显示给用户,但由于没有记录下载/安装到/ sites /all/模块的站点,因此必须手动更新这些模块。除非您通过从每个站点公开的API来补充这一点,否则每个站点都会让对方知道它已经安装了什么,以及应该/不应该安装什么。
最佳实践是在每个站点配置特定的模块,而不是试图防止换位?
我认为公平地说,包容性的而不是排他性的方法在这里更好的实践,任何其他的方法都有点尴尬。它变得更加复杂,您想要一种独占的方法就越自动化/健壮,而相反的方法只是起作用。
https://drupal.stackexchange.com/questions/256113
复制相似问题