我需要获取不在购物车中的产品详细信息。为此,我这样做。但它也会返回购物车中的产品详细信息。但我不想要购物车中的产品细节。
购物车详情:
$cart = Mage::getModel('checkout/session')->getQuote();
foreach ($cart->getAllItems() as $item) {
$cartprodid[] = $item->getProductId();
}
对于产品收集:
$quote = Mage::getModel('checkout/session')->getQuote();
$grandTotal=$quoteData['grand_total'];
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('*');
$collection->addFieldToFilter(array(
array('attribute'=>'entity_id', array("nin"=>array($cartprodid))),
))
->addAttributeToFilter('status', 1)
->addFieldToFilter('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);
$collection->setOrder('sku', 'ASC');
但我无法解决这个问题。任何人都可以建议我这个。
答案 0 :(得分:0)
看起来你走在正确的轨道上
尝试使用addAttributeToFilter
代替addFieldToFilter
。我的意思是这样的:
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('*');
$collection->addAttributeToFilter('entity_id', array('nin'=>$cartprodid))
->addAttributeToFilter('status', 1)
->addFieldToFilter('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);
$collection->setOrder('sku', 'ASC');