如何使用isSaleable属性过滤产品的可用性?

时间:2010-02-07 00:56:05

标签: php filter magento

我没有说明某件商品缺货,而是希望将其用于订购,但有一条警告说明产品的出货状态。我创建了一个属性并分配了日期输入类型。

以下是我试图让这项工作到目前为止没有运气。感谢一些帮助。感谢。

<?php $empty="" ?>
<?php $_product = $this->getProduct() ?>
<?php if($_product->isSaleable() && $empty==$_product->getProductAvailableDate()): // getProductAvailableDate is an date attribute ?> 
    <p><?php echo $this->__('Availability: In stock.') ?></p>
<?php else($_product->isSaleable() && $empty!=$_product->getProductAvailableDate()): ?>
    <p><?php echo $this->__('Availability: Temporarily Out of stock.<br/>Due to high demand for this product, it is not available until ') ?>
    <?php echo $_product->getProductAvailableDate() ?></p>
<?php endif; ?>

2 个答案:

答案 0 :(得分:0)

以下代码应该有效(取决于您的数据),如果产品不可用,则其可用日期为空。 (如果可用日期是过去的话?)

<?php
$product = $this->getProduct();

if($product->isSaleable(){
    if($product->getProductAvailableDate()!=''){
        echo '<p>'.$this->__('Availability: In stock.').'</p>';
    }else{
        echo '<p>'.$this->__('Availability: Temporarily out of stock.<br />Due to high demand for this product, it is not available until ').$product->getProductAvailableDate().'</p>';
    }
}else{
    // item not saleable, do you need this part ?
}
?>

答案 1 :(得分:0)

在Rufinus的帮助和一些变化的帮助下,我得到了它的工作。希望它可以帮到某人。

<?php $_product = $this->getProduct() ?>

<?php if($_product->isSaleable()): ?>

        <?php if($_product->getProductAvailableDate() == date('')){
            echo '<p>'.$this->__('Availability: In stock.').'</p>'; 
            }else{ 
            echo '<p>'.$this->__('Availability: Temporarily out of stock.<br />Due to high demand for this product, it is not available until ').$_product->getProductAvailableDate().'</p>';
            } ?>


<?php else: ?>

      <?php echo $this->__('Availability: Out of stock.') ?>

<?php endif; ?>