2012-03-25 28 views
0

我的模块定义了可变数量的块,然后将它们提供给“块”模块用于显示特定区域。我的模块如何通知drupal Block模块不再存在块?

当我的模块删除一个块时,drupal仍然认为它存在。我该如何告诉drupal一个块应该被丢弃?我正在寻找类似block_delete($ module,$ delta)的东西,但那不存在。

干杯,

Albert。

+0

你不需要。如果hook_block()在你的模块的某处被调用,则会添加一个块。你的意思是“当我的模块删除一个块”到底是什么意思?它是否像在/ admin/build/block/add中添加自定义块一样创建“自定义块”? – 2012-03-26 05:03:55

+0

嗨,谢谢你的回答。下面是一个更具体的例子:(1)用户进入我的模块的管理页面,可以添加/编辑/删除任意数量的“块”。然后通过hook_block()使块模块可见。 (2)用户然后将这些块中的一个(比如delta 1)放在给定的区域中。 (3)用户回到管理页面,并删除块增量1(4)现在访问任何页面给我一个错误,因为块系统“认为”,我的模块块增量1仍然在一个区域,但它不再存在。所以:删除我的块时,如何强制块模块从所有区域删除它? – alberto56 2012-03-26 15:39:56

回答

1

您可以在块表中搜索块的任何引用,并将它们从用于删除块的表单的提交功能中的表中删除。我认为没有更清晰的方法来确保块被移除。您可以查看menu_block如何处理(如果没有)。