繁体   English   中英

我如何确定PHP脚本中Magento中的订购商品是否有库存?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM