MODX getChunk替代方案

时间:2012-10-14 22:49:39

标签: modx modx-revolution

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

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

  • 输出放在块$ output中的时间为6-7秒。= $ modx-> getChunk('chunkname');
  • 输出为纯HTML时
  • 2-3秒

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

2 个答案:

答案 0 :(得分:0)

你的大块是什么样的?

你可以考虑放弃getChunk()调用,只是内联你的html:

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

return $output;

是的,这是不好的做法但是当面对替代方案的时间超过两倍时,这不是一个糟糕的优化。

答案 1 :(得分:0)

更多的架构级别还有另一种解决方案 - 1300个图像在一个页面上加载量很大!

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

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