如何在 drupal 8 中使用 module_set_weight 函数?

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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()之前被执行。

【讨论】:

以上是关于如何在 drupal 8 中使用 module_set_weight 函数?的主要内容,如果未能解决你的问题,请参考以下文章

markdown 如何使用Composer在Drupal 8中应用补丁

Drupal 8 和 PostgreSQL:如何在 WHERE 子句中使用表达式的结果?

如何在 drupal 8 中使用 module_set_weight 函数?

如何在 Drupal 8 中使用 Drush 命令创建新的内容类型

如何在 Drupal 8 中使用 Twig 获取 field_image 路径

如何在 ddev Drupal 8 配方中恢复 drush 版本?