在一个特定的模板中,我想使用一个块,所以它的内容可以由编辑器使用该模板编辑所有内容。
因为设置是多站点,所以我不能使用block-id(bid)。不同站点的块ID不同。
有没有办法通过API检索块描述的blockid?
我可以在prefix_boxes表上使用SQL查询,但更喜欢使用记录的API。
我目前正在使用Drupal版本6上的代码。
$block = module_invoke('block', 'block', 'view', 7);
print $block['content'];
答案 0 :(得分:1)
您可以使用block_list(以下是它的文档:http://api.drupal.org/api/drupal/modules--block--block.module/function/block_list/6)来检索每个区域的阻止列表,您应该在描述中找到您的阻止ID。
但是在这种情况下编写自己的查询并不是一个糟糕的解决方案,至少对我来说是这样。
答案 1 :(得分:0)
您不想使用块,而是使用区域本身。您可以使用_preprocess_nodehook实现此目的,在.info中添加区域并在模板中打印区域。
顺便说一下,Ran发布的技巧非常有趣,因为您可以使用它在Drupal站点的几乎任何部分编写您的区域。