(对不起,这是一个模糊的问题。我试图更清楚[and indeed to be more code-oriented]
失败了......): - /
//
我已经为Drupal模块安装了Firebug,我注意到它显示我显然在每个页面上加载了相同的八个节点对象,原因并不明显。这些都是相同的内容类型(该网站使用许多其他内容类型)。
它们实际上是所有这一内容类型的节点,除了开发人员模块生成的虚拟内容之外。
我已多次刷新缓存。
有没有办法解决从
加载这些节点的位置答案 0 :(得分:4)
安装devel.module,在node_load()函数中添加ddebug_backtrace();
。重新加载网站。现在您应该看到8个可浏览的回溯,它们将告诉您哪个函数调用node_load()。
答案 1 :(得分:2)
猜测,您可能有一个块(来自视图或模块),它会在每个请求中查询这些节点。
http://heydon.com.au/node/1044对此行为进行了简短的撰写。如果是这样,修复方法是从呈现的区域中删除该块,或将其配置为仅在您希望它运行的页面上显示(并因此呈现)。
Drupal缓存应该可以防止为匿名用户运行这些查询(当然,这取决于缓存和阻止设置)。
答案 2 :(得分:1)
我已经在第三方模块中发生了这种情况,这些模块不必要地反复调用node_load()。我建议您禁用所有第三方模块,重试节点加载并逐个重新启用它们,直到您发现行为不当的模块。
好运!