在我的站点上,我创建了一个子主题的子主题,使用它作为设置https://www.drupal.org/docs/8/theming-drupal-8/creating-a-drupal-8-sub-theme-or-sub-theme-of-sub-theme的指南,它确实可以运行所有css/js/regions,但出于某种原因,它正在用子主题的前缀重命名所有的块。
因此,例如,当我将子主题安装/设置为默认时,我有一个带有主机名的块,它将把这个块更改为theme3_mainnavigation。
我已经尝试删除这个块,并将它以相同的主机导航名称重新放入其中,但是我遇到了一个问题,在这个问题上,会出现一条消息,显示这个机器名已经存在。
有没有人知道如何绕过这个问题,这样子主题就会使用已经存在的名称的机器名称,而不是创建前缀?
谢谢你的帮助!
发布于 2020-03-28 03:48:04
你不能这么做。
此行为是块模块的核心功能,该模块正在强制执行其数据模型。每次放置一个块时,您都要创建一个唯一的块实体,该实体具有一个theme属性。因此,mainnavigation块实体不能同时用于默认主题以及theme3。
这就是Drupal默认生成${theme_machine_name}_${block_machine_name}的原因,这样用户就不必考虑它了。
https://drupal.stackexchange.com/questions/292267
复制相似问题