Ottieni la raccolta con quantità ordinate per la griglia di amministrazione
-
30-10-2019 - |
Domanda
Ho aggiunto una griglia personalizzata nel pannello di amministrazione che mostra tutte le raccolte di prodotti best seller. (Prodotti configurabili). La griglia di amministrazione ha le seguenti colonne:
entity_id product_name sku ordered_qty
Ricevo la collezione di prodotti best seller utilizzando Mage::getResourceModel('reports/product_collection');
Ma mentre riempiono la griglia di amministrazione, sto cambiando la collezione di prodotti in relativa alla raccolta dei prodotti del catalogo. come mostrato di seguito:
protected function _prepareCollection()
{
$from = /* some date */;
$to = /* some date */;
$collection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->setStoreId($storeId)
->addOrderedQty($from, $to)
$common_ids = array();
foreach($collection as $product) {
$common_ids[] = $product->getId();
}
$collection = Mage::getResourceModel('catalog/product_collection')
->addFieldToFilter('entity_id', $common_ids)
->addAttributeToSelect('*')
->addAttributeToSort('created_at', 'desc');
$this->setCollection($collection);
parent::_prepareCollection();
return $this;
}
Come puoi vedere nel codice sopra, sto ottenendo la collezione di prodotti due volte perché il "reports/product_collection"
non sta riempiendo la griglia di amministrazione. Così ho fatto "catalog/product_collection"
Ancora una volta alla raccolta che riempie la griglia di amministrazione.
Ma "catalog/product_collection"
non sta riempiendo la colonna ordered_qty
perché il ordered_qty
I valori di colonna vengono preparati da "reports/product_collection"
.
Come dovrei ottenere i valori per ordered_qty
?
Nessuna soluzione corretta