【问题标题】:How to show stock availability information in the product grid on Magento?如何在 Magento 的产品网格中显示库存信息?
【发布时间】:2018-11-27 18:58:45
【问题描述】:

我对产品类别视图有疑问。由于我展示了缺货产品(需要像我们这样,因为我们是批发商)我希望它显示出来,以便客户在深入了解详细的产品页面之前可以查看它是否有库存。

请参阅附件我想在分类页面上看到的部分:

Link to image of idea: http://ipseitycore.co.uk/screen.jpg

【问题讨论】:

    标签: magento


    【解决方案1】:

    在列表模板 (catalog/product/list.phtml) 中尝试以下代码行:

    <?php
       $qty = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
       echo $qty;
    ?>
    

    希望这会有所帮助。

    【讨论】:

    • 感谢该代码,但我希望它采用产品详细信息页面的样式。所以它有一个带有小图标的较暗背景。你知道怎么加这个吗?
    【解决方案2】:

    我实际上已添加此代码以显示“缺货”或“仅剩 1 件”。对于我的网站,我不需要显示“有货”。

        <span class="out-of-stock">
             <?php 
                    $qty = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
                    if ($qty == 1) :
                        echo $this->__('Only 1 left in stock!');
                    elseif ($qty == 0) :
                        echo $this->__('Out of stock!');
                    else :
                        echo $this->__('&nbsp;');
                    endif;
            ?>
       </span>
    

    【讨论】:

      【解决方案3】:

      在 list.phtml 文件中使用此代码

      <?php  $ObjectManager = \Magento\Framework\App\ObjectManager::getInstance();
          $StockState = $ObjectManager->get('\Magento\CatalogInventory\Api\StockStateInterface');
          echo $StockState->getStockQty($_product->getId(), $_product->getStore()->getWebsiteId());
      ?>                                       
      

      【讨论】:

      • 此答案适用于 Magento2 - 在 Magento2 中,您绝不能直接在模板文件中调用对象管理器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      • 2022-01-13
      相关资源
      最近更新 更多