0

我有这个显示库存状态的 phtml 文件:

<?php $_product = $this->getProduct() ?>
<?php $productQty = (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty(); ?>
<?php if ($productQty > 100): ?>
    <div class="catalog-stock over-stock">
        <span class="qry-text"><?php echo $this->__('In stock:'); ?></span>
        <span class="qry-count">100+</span>
    </div>
<?php elseif ($productQty > 0 && $productQty <= 100): ?>
    <div class="catalog-stock normal-stock">
        <span class="qry-text"><?php echo $this->__('In stock:'); ?></span>
        <span class="qry-count"><?php echo $productQty; ?></span>
    </div>
<?php elseif ($deliveryDate = $_product->getStockDeliveryDate()): ?>
    <div class="catalog-stock no-stock">
        <span class="qry-text"><?php echo $this->__('Expected'); ?></span>
        <span class="qry-count"><?php echo $deliveryDate; ?></span>
    </div>
<?php elseif ($_product->getTypeId() != 'configurable' && $_product->getTypeId() != 'grouped' && $_product->getTypeId() != 'bundle'): ?>
    <div class="catalog-stock no-stock">
        <span class="qry-text"><?php echo $this->__('Expected'); ?></span>
        <span class="qry-count"><?php echo $this->__('n/a'); ?></span>
    </div>
<?php endif; ?>

<?php echo $this->getChildHtml('product_type_data') ?>我用product/view/view.phtml中的这一行来调用它

当与简单的产品一起使用时,它可以完美地工作,但是如何对可配置的产品做同样的事情呢?

我想要的是根据选择的配置更改库存状态。

一种解决方案是检查产品是否可配置,然后同时显示所有值并使用 css 隐藏。但是如果我这样做,我会遇到问题 - 如何知道选择了哪个产品并显示它的库存状态?

我想最好的选择是用 ajax 来做这件事,但我花了几个小时试图做到这一点,但没有成功。

4

0 回答 0