首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何知道另一个贡献模块何时删除一个块?

问我如何知道另一个贡献模块何时删除一个块?
EN

Drupal用户
提问于 2019-11-10 20:24:27
回答 1查看 32关注 0票数 1

我编写了一个Drupal 7模块,它将大约10个字段添加到块管理配置表单中,并将这些字段的值保存在自己的数据库表中。我的模块没有创建块,而是扩展了任何块的功能,不管是哪个模块创建的。

当任何模块从块表中删除一个块时,我的模块应该删除它自己表中的数据。然而,当这种情况发生时,我的模块如何知道呢?是否有钩子或其他“通用”方法可用于知道块何时已被删除?

没有hook_block_delete(),尽管有hook_node_delete()和hook_entity_delete()。我看过关于创建块的开发指南,以寻找一些线索,但我发现的任何一个都没有给出应该如何删除它们的例子。我还查看了创建/删除块的模块的源代码,比如视图模块,但我不知道它们如何或者是否发送了一个已删除块的通知。

EN

回答 1

Drupal用户

发布于 2019-11-10 21:01:01

在删除块时没有启动钩子,正如您在这里的块钩子列表中看到的那样,block.api.php。

在Drupal论坛这里中有一个主题。

我认为处理这个问题的最好方法是使用hook_form_alter之类的方法。

代码语言:javascript
复制
/**
 * Implements hook_form_alter().
 */
function YourModule_form_alter(&$form, $form_state, $form_id) {
  if ($form_id == 'block_custom_block_delete') {
    // You get all information here of the concerned block in $form.
  }
}
票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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