0

我正在寻找 MODX getChunk() 替代方案,主要是因为它在输出很多次时似乎真的很慢。当我在一个片段中使用它一次时,我几乎无法注意到它的速度,但如果它在循环中使用,那么每一秒都很重要。

作为图库的一部分,我每页输出约 1300 张图像 100 张,它需要:

  • 6-7 秒,当输出放入一个块 $output .= $modx->getChunk('chunkname');
  • 输出纯 HTML 时 2-3 秒

有谁知道使用块输出图像查询结果的更快替代方法?

4

2 回答 2

0

你的块是什么样的?

您可能会考虑放弃 getChunk() 调用并仅内联您的 html:

$output = '';
foreach ($images as $img) {
    $output .= '<li><a href="'.$img['path'].'" alt="'.$img['name'].'" /></li>';
}

return $output;

是的,是的,这是不好的做法,但是当面对替代方案花费两倍以上的时间时,这并不是一个糟糕的优化。

于 2012-10-15T00:04:57.750 回答
0

更多的架构层面还有另一种解决方案 - 1300 张图像在一个页面上加载是巨大的!

根据您的设计,为什么不加载前 20 - 30 个并实现某种无限滚动,当用户开始滚动时通过 ajax 加载其余部分(大约 20 个)。

这将减轻服务器的负载,节省带宽,提供更快的用户体验。并绕过缓慢的 getChunk 调用。

于 2012-10-15T00:07:25.470 回答