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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top