【问题标题】:Php/Magento show image based on stock qtyPhp/Magento 根据库存数量显示图像
【发布时间】:2014-02-14 10:19:45
【问题描述】:

没有人可以帮助我吗? (更新 17-02)

基本上我需要它以下。

  • 获取产品的库存数量
  • 显示数量X
  • 负数时显示0
  • >0 时显示图像 X

旧信息

在 magento 中,我用实际数字显示库存数量。 当数字低于 0 时,他总是显示 0。 我现在想要做的是为这两个条件添加一个图像。

例如,当数量 > 0 时显示绿色图像,当数量 = 0 时显示红色图像。有人知道怎么做吗?

 <div class="qty-amount2">
        <?php //echo (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty(); ?>
        <?php  $_op_voorraad = (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
            if($_op_voorraad < 0){
                $_op_voorraad = 0;
            }
            echo $_op_voorraad; ?><span><?php echo $this->__(' op voorraad') ?></span>

【问题讨论】:

    标签: php magento


    【解决方案1】:

    好的,通过聘请开发人员解决了这个问题,但会分享它

     ?>
    <?php /* @var $this Mage_Catalog_Block_Product_View_Abstract */?>
    <?php $_product = $this->getProduct() ?>
    <?php if($_product->isSaleable()): ?>
    <?php  $_op_voorraad = (int) Mage::getModel('cataloginventory/stock_item')-       >loadByProduct($_product)->getQty();?>
    <?php if($_op_voorraad > 0): ?>
        <div class="qty-amount2"><img style="float: left;"   src="image_path" alt="">
            <?php echo $_op_voorraad; ?><span><?php echo $this->__(' op voorraad') ?></span>
        </div>
    <?php else: ?>
        <?php $_op_voorraad = 0;?>
        <div class=" qty-amount2 geen"><img src="image_path" alt="">
            <?php echo $_op_voorraad; ?><span><?php echo $this->__(' op voorraad') ?></span>
        </div>
    <?php endif;?>
    <?php else: ?>
    <div class="geen"><img src="image_path"   alt="">
    <p><?php echo $this->__('Availability: Out of stock.') ?></p></div>
    <?php endif; ?><br>
    
    <?php echo $this->getPriceHtml($_product) ?>
    

    【讨论】:

      【解决方案2】:
      <?php 
      $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
      
          if ($_product->isAvailable()): 
              if(intval($stock)>0){
                  //green image code
              }else{
                  //red image code
              }
          endif; 
      ?>      
      

      【讨论】:

      • 您好,感谢您的回复,您的意思是像下面这样吗?什么都没有显示,也没有 qty isSaleable()): ?> loadByProduct($_product)- >getQty(); if ($_product->isAvailable()): if(intval($stock)>0){ $image_url='/media/wysiwyg/trein_rood.png'; }else{ $image_url='/media/wysiwyg/trein_rood.png'; } 万一; ?>
      【解决方案3】:

      您不需要知道库存数量。

      如果商品缺货,isSaleable() 方法返回“false”。你可以使用这个方法。

      例如:

              <?php if($_product->isSaleable()): ?>
                  <img src="[linkimage1]" width="135" height="135" alt="" />
              <?php else: ?>
                  <img src="[linkimage2]" width="135" height="135" alt="" />
              <?php endif; ?>
      

      记得在前端启用缺货可见性:

      来自管理员:系统->目录\库存->库存选项->显示缺货产品(“是”)

      重新索引所有。

      【讨论】:

      • 谢谢,但我们实际上想向我们的客户显示数量,我们使用延期交货,因此缺货不是一种选择。谢谢
      猜你喜欢
      • 1970-01-01
      • 2020-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-29
      • 2012-01-10
      • 2018-04-02
      • 1970-01-01
      相关资源
      最近更新 更多