【发布时间】:2009-11-09 22:27:16
【问题描述】:
我想更改$block->content 中的内容,我应该实现哪个 Drupal 挂钩?
【问题讨论】:
-
对于 Drupal 7(我知道您的问题与 6 相关,但无论如何这可能会有所帮助)是 hook_block_alter 可以让您完全按照您的需要.所以你有一个选择是升级到 D7 :)
我想更改$block->content 中的内容,我应该实现哪个 Drupal 挂钩?
【问题讨论】:
根据你的需求,我可以想到各种可能的方式:
另一方面,您可以通过将“块”的本质更改为更灵活的方式来完全改变解决问题的方法。我倾向于不鼓励这种方法,除非你真的发现一个简单的块不能做你需要的……但你应该知道这种可能性。您可以通过以下方式更改块的性质:
$title 和$content 更多的变量。【讨论】:
AFAIK,没有“真正的”钩子来改变块的内容。您可以实现 yourModule_preprocess_block() 函数,检查/操作传入的 $variables 数组。或者,由于块实现通常很短,您可以将原始块生成逻辑复制到您自己的 hook_block() 实现中,从而为您自己的版本提供所需的自定义。
【讨论】: