在下面的代码中,我打印了一个产品列表、一个库存列表,出于某种原因,使其工作的唯一方法是在循环它们的同时再次实例化产品。否则我会错过价格和库存。
有任何想法吗?
这是我的代码,
$data = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('name')
->addAttributeToSelect('type_id')
->addAttributeToSelect('sku')
->addAttributeToSort('name', 'ASC')
->addFilter('type_id', 'simple');
?><table dir="ltr" summary="Stock report table">
<thead>
<tr>
<th>Id</th>
<th>Type</th>
<th>SKU</th>
<th>Name</th>
<th>Price</th>
<th>Stock</th>
</tr>
</thead>
<tbody>
<?php
$i = 0;
foreach($data as $product){
$p = Mage::getModel('catalog/product')->load($product->getId());
echo "<tr>";
echo "<td>".$p->getId()."</td>";
echo "<td>".$p->getTypeId()."</td>";
echo "<td>".$p->getSku()."</td>";
echo "<td>".$p->getName()."</td>";
echo "<td>£".number_format($p->getPrice(), 2)."</td>";
echo "<td>".$p->getData('stock_item/qty')."</td>";
$i++;
// if($i == 1){ break; }
}
?></tbody>
</table>
<?php