[英]How can I find out if an ordered item in Magento was on stock in a php script?
如果订购的商品是否有货,我需要找出一个自动化的实现/报告php-script。
我最初考虑使用具有“缺货状态”的项目状态,但是在创建发票时这会被覆盖,在我们的情况下,这总是直接的情况,因为我们的付款方式是这样配置的。
我查看了sales_flat_order_item表,我想到的唯一解决方案是,是否可以使用qty_backordered字段检查商品最初是否被补货,但是我不确定这是否是可靠的方法。
您将如何以安全的方式做到这一点?
创建一个新文件并在您的magento根目录中使用此文件
Magento将获得所有数量大于0且仍无库存的简单产品。
<?php
require_once('app/Mage.php');
umask(0);
Mage::app('admin');
set_time_limit(0);
$productCollection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->joinField('qty',
'cataloginventory/stock_item',
'qty',
'product_id=entity_id',
'{{table}}.is_in_stock=0',
'left')
->addAttributeToFilter('qty', array("gt" => 0));
echo "<h2>Simple Products with >0 quantity and Out of Stock</h2>";
foreach($productCollection as $product) { //print_r($product->getData());exit;
if($product->getTypeId() == 'simple')
echo $product->getName() . " | " . $product->getSku() . "<br>";
}
echo 'Done';
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.