Będziesz musiał dołączyć do stołu, aby uzyskać ilość.
Zobacz poniższy kod:
$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(),
);
}
Jak uzyskać tutaj utworzoną wartość atrybutu, np. Utworzyłem atrybut o nazwie rozmiar, jak pobrać tę wartość
AKTUALIZACJA (Chociaż powinieneś zapytać w innym qst, ale odpowiem tutaj za ciebie.)
Aby uzyskać niestandardowy atrybut, musisz dodać atrybut w ->addAttributeToSelect
sekcji.
Nadal nie działa?
Może być konieczne załadowanie modelu produktu, ponieważ czasami zdarza mi się, że nie wszystkie niestandardowe atrybuty są dołączane po wyciągnięciu go z kolekcji (chyba ze względów wydajnościowych). Coś jak:
$_product = Mage::getModel('catalog/product')->load($product->getId());
$size = $_product->getSize();