Drupal - 没有明显原因加载节点

时间:2011-05-30 22:31:43

标签: drupal drupal-6

(对不起,这是一个模糊的问题。我试图更清楚[and indeed to be more code-oriented]失败了......): - /

//

我已经为Drupal模块安装了Firebug,我注意到它显示我显然在每个页面上加载了相同的八个节点对象,原因并不明显。这些都是相同的内容类型(该网站使用许多其他内容类型)。

它们实际上是所有这一内容类型的节点,除了开发人员模块生成的虚拟内容之外。

我已多次刷新缓存。

有没有办法解决从

加载这些节点的位置

3 个答案:

答案 0 :(得分:4)

安装devel.module,在node_load()函数中添加ddebug_backtrace();。重新加载网站。现在您应该看到8个可浏览的回溯,它们将告诉您哪个函数调用node_load()。

答案 1 :(得分:2)

猜测,您可能有一个块(来自视图或模块),它会在每个请求中查询这些节点。

http://heydon.com.au/node/1044对此行为进行了简短的撰写。如果是这样,修复方法是从呈现的区域中删除该块,或将其配置为仅在您希望它运行的页面上显示(并因此呈现)。

Drupal缓存应该可以防止为匿名用户运行这些查询(当然,这取决于缓存和阻止设置)。

答案 2 :(得分:1)

我已经在第三方模块中发生了这种情况,这些模块不必要地反复调用node_load()。我建议您禁用所有第三方模块,重试节点加载并逐个重新启用它们,直到您发现行为不当的模块。

好运!