首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同模块中钩子执行的优先级

问不同模块中钩子执行的优先级
EN

Drupal用户
提问于 2015-01-14 15:10:12
回答 1查看 660关注 0票数 2

假设在Drupal 7中安装了一个贡献模块,它从核心修改一个SQL语句。现在,我有了自己的自定义模块,它以不同的方式更改相同的SQL语句。现在,根据更改的不同,我可以有不同的SQL字符串,这取决于哪个模块钩子应用于另一个模块。例如,第一个钩子删除一个表“字段”,而另一个钩子添加相同的表“字段”。如果第一个钩子执行得更早,最后一个SQL就会添加字段。如果现在是第二个更早执行的钩子,则会添加额外的字段,然后删除该字段,因此SQL完全不同。我现在怎样才能优先处理其他有冲突的问题,是否有办法克服这个明显的困难呢?

EN

回答 1

Drupal用户

发布于 2015-01-14 18:52:53

系统表有一个“权重”字段。钩子按这个顺序执行。

在安装过程中,可以使用以下代码进行更改:

代码语言:javascript
复制
function your_module_name_install() {
  db_update('system')
    ->fields(array('weight' => your_preferred_weight))
    ->condition('name', '[your_module_name]', '=')
    ->execute();
}

来源:https://www.drupal.org/node/110238

票数 2
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/144246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档