2012-10-14 36 views
0

我正在尋找MODX getChunk()替代品,主要是因爲它在輸出很多次時似乎很慢。 當我在一段代碼中使用它時,我幾乎不能注意到它的速度,但是如果它在循環中使用,那麼每秒鐘都很重要。當輸出被放置在塊$輸出MODX getChunk替代

  • 6-7秒= $ modx->的GetChunk:

    我輸出〜每頁1300倍的圖像100作爲庫的一部分,它需要。 ( 'chunkname');

  • 2-3秒的時候,輸出爲純HTML

有誰知道更快的替代方案,以輸出使用塊圖像查詢的結果呢?

回答

0

你的塊是什麼樣的?

你可能會考慮放棄使用GetChunk()調用,只是內聯的HTML:

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

return $output; 

是啊是啊,這是不好的做法,但是當面對替代以超過兩倍的時間更多它不是一個壞的優化。

+0

我也想知道你正在使用哪個Revo版本。我認爲從2.2+開始,一些優化是爲getChunk做出的,顯着加快了速度。 – okyanet

+0

我使用的是2.2.4,但仍然使用getChunk似乎使輸出圖像所需的時間加倍。我之前沒有看到問題,但是當查詢1330圖像並在分頁中輸出100時,則時序非常糟糕。任何超過3秒的100張圖片太多了...... –

+0

我可以使用內嵌html,但那不是一種優雅的方式,我想知道如果它的處理需要那麼多時間,塊的動態檢索是什麼感覺 –

0

還有另一種解決方案來自更多的架構級別 - 1300圖像是一個巨大的負載在一個頁面上!

根據您的設計,爲什麼不加載第一個20-30和實現某種無限滾動,在用戶開始滾動時由ajax加載(大約20個左右)。

這將消除服務器的負擔,節省帶寬,提供更快的用戶體驗。並繞過慢速getChunk通話。