假设在Drupal 7中安装了一个贡献模块,它从核心修改一个SQL语句。现在,我有了自己的自定义模块,它以不同的方式更改相同的SQL语句。现在,根据更改的不同,我可以有不同的SQL字符串,这取决于哪个模块钩子应用于另一个模块。例如,第一个钩子删除一个表“字段”,而另一个钩子添加相同的表“字段”。如果第一个钩子执行得更早,最后一个SQL就会添加字段。如果现在是第二个更早执行的钩子,则会添加额外的字段,然后删除该字段,因此SQL完全不同。我现在怎样才能优先处理其他有冲突的问题,是否有办法克服这个明显的困难呢?
发布于 2015-01-14 18:52:53
系统表有一个“权重”字段。钩子按这个顺序执行。
在安装过程中,可以使用以下代码进行更改:
function your_module_name_install() {
db_update('system')
->fields(array('weight' => your_preferred_weight))
->condition('name', '[your_module_name]', '=')
->execute();
}https://drupal.stackexchange.com/questions/144246
复制相似问题