【发布时间】:2011-07-11 16:08:06
【问题描述】:
我为 Drupal 7 编写了一个模块。它必须在一个函数中获取当前的 $node 变量,例如hook_init() 或类似的,并且这个变量应该可以从另一个函数访问。我发现了关于node_load(arg(1)) 的讨论,解决方案的作者说由于缓存,性能不是问题。
那么,我应该在每个函数中调用node_load(),而不必担心性能问题吗?还有其他方法可以在模块函数之间传递变量吗?
更准确地说:我已经在具有特定节点类型的页面上放置了一个带有模块的块,并且在 hook_block_view 函数中我需要访问当前节点对象。到目前为止,我已成功使用 node_load。但也许有更好的方法。
提前致谢!
【问题讨论】:
-
我认为在每个函数中调用
node_load并不是一个好主意,尤其是从数据库加载节点时。也许如果您发布一些代码并解释您想要实现的目标,您可能会从其他人那里获得更多帮助。 -
我会尽量准确一点。我已经在具有特定节点类型的页面上放置了一个带有模块的块,并且在 hook_block_view 函数中我需要访问当前节点对象。到目前为止,我已成功使用 node_load。但也许有更好的方法。