Ajax 如何显示可配置的产品库存状态?

Ajax 如何显示可配置的产品库存状态?,ajax,magento,product,stock,Ajax,Magento,Product,Stock,我有一个显示库存状态的phtml文件: <?php $_product = $this->getProduct() ?> <?php $productQty = (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty(); ?> <?php if ($productQty > 100): ?> <div cl

我有一个显示库存状态的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; ?>

100+
我用product/view/view.phtml中的
这行代码来调用它

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

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

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


我想最好的选择是使用ajax来实现这一点,但我花了数小时试图实现这一点,但没有成功。

您肯定需要一些客户端脚本,因为当用户选择新的子产品(变体)时,需要更新值。您需要根据子产品ID发出ajax请求,一旦您有了子产品的产品ID,上述方法就可以正常工作,因为库存值来自关联的子(简单)产品。基本上,从ajax请求中调用与上面类似的脚本,传入简单/子产品ID会很好地工作,我该怎么做?如何将产品id分配给选项?我设法将产品id添加到选项,但如何调用该phtml文件并为其指定所选id?您可以制作一个自定义控制器,并从操作中返回股票值