「setPageSize()」と「setCurPage()」によって以前に設定された制限を無視して、ブロックMage_Catalog_Block_Product_List_Toolbarで指定された製品コレクション内のすべての製品を反復処理したいと思います。私のアプローチは次のようになります。
/** @var Mage_Catalog_Block_Product_List_Toolbar $this */
//...
$collection = $this->getCollection();
// Remove the LIMIT and OFFSET parts from the generated SQL query:
$collection->getSelect()->reset(Zend_Db_Select::LIMIT_COUNT);
$collection->getSelect()->reset(Zend_Db_Select::LIMIT_OFFSET);
// Reload the collection using the new SQL query:
$collection->load();
foreach($collection as $product)
{
// ...
}
// ...
問題は、コレクションがリロードされていないように見えるため、以前に設定された制限がまだ存在していることです。ここで何が欠けていますか?コレクションがロックされているか、変更できないようになっていますか?