在我的Magento商店中,有时我会忘记在给缺货商品添加新库存后从下拉菜单中选择“有货”。
有没有办法获取所有库存商品清单,但标记为“缺货”?
在我的Magento商店中,有时我会忘记在给缺货商品添加新库存后从下拉菜单中选择“有货”。
有没有办法获取所有库存商品清单,但标记为“缺货”?
$products = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('is_in_stock', 0)
->addAttributeToFilter('qty', array("gt" => 0));
很遗憾,我似乎不记得如何以应该工作的方式放入>0。也许有人可以对此发表评论。
您可以通过foreach循环运行$products,然后将is_in_stock设置为1的值,这样您就可以做生意了。
我认为最简单的方法是:
管理员 -> 系统 -> 导入/导出 -> 配置文件
添加新配置文件
更改为导出,给文件命名和位置。下载文件并在您喜欢的电子表格程序中打开。查找“is_in_stock”- 1 = 库存中,0 = 缺货。按0过滤,您将获得所有缺货商品的列表。
您还可以检查http://shop.com/index.php/rss/catalog/notifystock/的低库存警报RSS列表。
(该代码用于将库存过滤器添加到集合中。)Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($_collection);
您需要将以下代码放入:
Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()
中。
app/design/frontend/default/[yourtemplate]/template/catalog/product/list.phtml
文件用于检查您的产品库存。
按库存量降序加载产品
$products
->joinField(
'inventory_in_stock',
'cataloginventory_stock_item',
'is_in_stock',
'product_id=entity_id',
'is_in_stock>=0',
'left'
)
->setOrder('inventory_in_stock', 'desc');