【问题标题】:how to use module_set_weight function in drupal 8?如何在 drupal 8 中使用 module_set_weight 函数?
【发布时间】:2021-04-19 05:38:54
【问题描述】:

module_set_weight($module, $weight)函数中,权重参数的表示是什么? 数字越大,模块的执行顺序越低吗?谁能给我举个例子?

【问题讨论】:

    标签: drupal-8


    【解决方案1】:

    来自documentation

    int $weight:表示模块权重的整数。

    在 Drupal 中,模块的 权重 将决定钩子函数(在其中实现)的执行顺序。重量较轻的将首先执行。对于相同权重的模块,将使用模块名称的字母顺序。

    例如,我们有module_a(权重= 0)和module_b(权重= 1),它们内部都有hook_entity_update实现:

    module_a.module

    function module_a_entity_update($entity) {
        // some logic
    }
    

    module_b.module

    function module_b_entity_update($entity) {
        // some logic
    }
    

    所以当hook_entity_update钩子函数被调用时,module_a_entity_update()会在module_b_entity_update()之前被执行。

    【讨论】:

      猜你喜欢
      • 2018-04-23
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 2012-12-31
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      相关资源
      最近更新 更多