magento 1.9 库存数量发货消息 php 代码

magento 1.9 stock qty shipping message php code

已编辑---

不确定 post 发生了什么。它缺少我的大部分解释..无论如何..

我有现有的代码,当产品的某些变量存在时显示特定的运输时间。例如 sku、cat id 等。

这是我为此使用的代码

'

                            $sku_code = substr($_product->getSku(), 0, 1);  
                        ?>                          
                        <?php if (in_array(307, $_product->getCategoryIds())): ?> 
                            <?php echo $this->__('Shipped in 25 days') ?>
                        <?php elseif (in_array(317, $_product->getCategoryIds())): ?>
                            <?php echo $this->__('Shipped in 28 days') ?>
                        <?php elseif (in_array(300, $_product->getCategoryIds()) || in_array(302, $_product->getCategoryIds()) || in_array(304, $_product->getCategoryIds()) || in_array(308, $_product->getCategoryIds()) || in_array(310, $_product->getCategoryIds()) || in_array(357, $_product->getCategoryIds()) || in_array(359, $_product->getCategoryIds())): ?>
                            <?php echo $this->__('Shipped in 17 days') ?> 
                        <?php elseif (in_array(291, $_product->getCategoryIds())): ?>
                            <?php echo $this->__('Shipped in 2 to 5 days') ?> 
                        <?php elseif ($sku_code == 'F' || $sku_code == 'G' || $sku_code == 'P'): ?>
                            <?php echo $this->__('Shipped in 1 to 3 days') ?> 
                        <?php //elseif ($sku_code == 'A'): ?>
                            <?php //echo $this->__('Shipped in 28 days') ?> 

                       <?php else: ?> 
                            <?php echo $this->__('Shipped in 3 to 7 days') ?>
                        <?php endif; ?>'

然而,我想要做的是添加一个声明,检查产品数量是否为 0.. 然后将发货天数显示为更高的数量,并显示它处于延期交货状态。

我试过代码<?php elseif ($_product->getQty() <= 0 ): ?> <?php echo $this->__('Item on backorder Ships in 7-21 days') ?>

但它只显示消息,而不管数量..(即如果它的数量为 2,它仍然显示')所以我需要你的建议来修复我的线路。

谢谢

我解决了这个问题, 载入你的文件

<?php $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product);?>

然后

<?php if ($stock->getQty()==0): ?> <?php echo $this->__('ships in 21-28 days')?>

在代码中。它现在检查数量是否为 0,而不是高于或低于。它就像我需要的自定义消息一样工作。

希望这对其他人有帮助。

我还更改了库存以在 default.php 上显示为延期交货,这样当数量为 0 时它显示为延期交货而不是库存仍然因为我允许后端的数量低于 0。