Sie müssen sich der Tabelle anschließen, um die Menge zu erhalten.
Siehe folgenden Code:
$products = Mage::getModel('catalog/product')
->getCollection()
//->addAttributeToSelect('*')
->addAttributeToSelect(array('name', 'thumbnail', 'weight' ,'price','description'))
->joinField(
'qty',
'cataloginventory/stock_item',
'qty',
'product_id=entity_id',
'{{table}}.stock_id=1',
'left'
);
foreach ($products as $product) {
$p['products'][] = array(
'id' => $product->getId(),
'sku' => $product->getSku(),
'name' => $product->getName(),
'description' => $product->getDescription(),
'weight' => $product->getWeight(),
'created at' => $product->getCreatedAt(),
'pirce' => Mage::helper('core')->currency($product->getPrice(), true, false), //." ".$currencyCode,
//get qty
'qty' => $product->getQty(),
);
}
Wie man hier einen Attributwert erstellt, zB habe ich ein Attribut namens size erstellt, um diesen Wert abzurufen
UPDATE (Du solltest zwar in einer anderen QST nachfragen, aber ich werde hier für dich antworten.)
Um ein benutzerdefiniertes Attribut zu erhalten, müssen Sie das Attribut im ->addAttributeToSelect
Abschnitt hinzufügen .
Funktioniert immer noch nicht
Möglicherweise müssen Sie ein Produktmodell laden, da ich gelegentlich festgestellt habe, dass nicht alle benutzerdefinierten Attribute angehängt sind, wenn Sie es aus einer Sammlung entfernen (dies ist vermutlich aus Gründen der Leistung gedacht). Etwas wie:
$_product = Mage::getModel('catalog/product')->load($product->getId());
$size = $_product->getSize();