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。
已编辑---
不确定 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。