On product list/grid magento already has collection of products, and get from it products using foreach.
$_productCollection=$this->getLoadedProductCollection();
...
foreach ($_productCollection as $_product):
But these products don't have all necessary properties. I'm not sure, but i thing they have no inventory data. But i need some elements of _data array. I know only one way how to do that:
$_product = Mage::getModel('catalog/product')->load($_product->getId());
Is there any another way, how to reload product properties?