如果我知道它的块描述,我如何找到drupal block-id的id

时间:2010-11-17 09:09:18

标签: drupal drupal-6

在一个特定的模板中,我想使用一个块,所以它的内容可以由编辑器使用该模板编辑所有内容。

因为设置是多站点,所以我不能使用block-id(bid)。不同站点的块ID不同。

有没有办法通过API检索块描述的blockid?

我可以在prefix_boxes表上使用SQL查询,但更喜欢使用记录的API。

我目前正在使用Drupal版本6上的代码。

$block = module_invoke('block', 'block', 'view', 7);
print $block['content'];

2 个答案:

答案 0 :(得分:1)

您可以使用block_list(以下是它的文档:http://api.drupal.org/api/drupal/modules--block--block.module/function/block_list/6)来检索每个区域的阻止列表,您应该在描述中找到您的阻止ID。

但是在这种情况下编写自己的查询并不是一个糟糕的解决方案,至少对我来说是这样。

答案 1 :(得分:0)

您不想使用块,而是使用区域本身。您可以使用_preprocess_nodehook实现此目的,在.info中添加区域并在模板中打印区域。

顺便说一下,R​​an发布的技巧非常有趣,因为您可以使用它在Drupal站点的几乎任何部分编写您的区域。