raccolta Limite del prodotto
-
22-10-2019 - |
Domanda
a una domanda al alcune cose di base di filtrare e limitare collezioni di prodotti. Ho cercato il web per la soluzione, ma niente ha funzionato. Spero di avere un aiuto qui. Quindi, il compito è quello di limitare i risultati con la funzione di limite (). Quello che voglio è quello di impostare l'ultimo prodotto di id e per interrogare i prossimi 100 prodotti. Il codice è chiamato da cron jobs e ho bisogno di una soluzione per interrogare ogni volta che il gruppo successivo di prodotti. Ecco il mio codice:
$simpleProducts = Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter('type_id', array('eq' => 'simple'))
->addAttributeToFilter('sku', array("notnull" => true))
->addFieldToFilter('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE)
->addFieldToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
->addAttributeToSelect('entity_id')
->addAttributeToSelect('search_sku_textfield')
->addAttributeToSelect('sku')
->limit(100,$lastProdId);
Ho anche su alcuni prodotti di un set di attributi (con set di attributi). Sarebbe bello per interrogare solo i prodotti che hanno l'attributo (assegnato truh set di attributi). Questo non funziona
->addFieldToFilter('search_sku_textfield', array("null" => true))
Soluzione
Che dire qualcosa di simile:
Mage::getResourceModel('catalog/product_collection')
->addAttributeToFilter('type_id', array('eq' => 'simple'))
->addAttributeToFilter('sku', array("notnull" => true))
->addFieldToFilter('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE)
->addFieldToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
//->addAttributeToSelect('entity_id') // you don't need this
->addAttributeToSelect('search_sku_textfield')
//->addAttributeToSelect('sku') // static attributes are always loaded
->addFieldToFilter('entity_id', array('gt' => $productId))
->addFieldToFilter('attribute_set_id', $attributeSetId)
->setOrder('entity_id')
->setPageSize(100);
Altri suggerimenti
Hey Penso che è necessario qualcosa di simile. trovare Jus i prodotti che hanno una maggiore id della corrente id fornito e set dimensioni della pagina a 100 tornerà prossimi 100 record da quello attuale.
Ricordate di impostare l'ordine del prodotto anche.
$_product->addFieldToFilter('entity_id',array('gt' => $productId))
->setOrder('entity_id')
->setPageSize(100);