我已使用此处的代码http://www.magentocommerce.com/boards/viewthread/21039/P45/#t167724设法在目录页面上为可配置产品添加选项。我现在要做的只是根据选项所来自的简单产品的库存显示可用的选项。
例如,如果我的T恤(可配置产品)有各种颜色(简单产品)且我的红色缺货,则在显示可配置产品时,红色不会显示为选项。
最好的方法是什么?
更新 为清楚起见,这里是我发布的链接中的相关代码块。
<?php if($product->getTypeId() == "configurable"): ?>
<?php $attValConfig = $product->getTypeInstance()->getConfigurableAttributesAsArray(); ?>
<?php if(sizeof($attValConfig)): ?>
<?php foreach($attValConfig as $attValConfigSingle): ?>
<fieldset class="product-options" id="product-options-wrapper">
<label><?php echo $attValConfigSingle['label']; ?>:</label>
<select name="super_attribute[<?php echo $attValConfigSingle['attribute_id'] ?>]" id="attribute<?php echo $_product->getId() ?>" class="required-entry super-attribute-select">
<?php foreach($attValConfigSingle['values'] as $attValConfigSingleVal): ?>
<option value="<?php echo $attValConfigSingleVal['value_index'] ?>"><?php echo $attValConfigSingleVal['label'] ?></option>
<?php endforeach; ?>
</select>
</fieldset>
<?php endforeach; ?>
<?php endif; ?>
<?php endif; ?>
由于此代码只是获取所有可配置选项并显示它们,因此它不会检查支持可配置选项的简单产品是否有库存。我该怎么做?
答案 0 :(得分:1)
我只是想知道为什么我们要检查库存状态的数量,为什么我们不要查看简单产品的库存情况。
我已经实现了根据库存状态显示可配置产品的缺货情况。 现在您可以通过简单产品的库存可用性属性来生产产品“库存”和“库存”。
答案 1 :(得分:0)
尝试以下方法(做你想要的结果):
$_productCollection = Mage::getModel('cataloginventory/stock_item')->getCollection()
->addIdFilter($productId) // this line is wrong, don't care this
->addFieldToFilter('qty', array('gteq' => 1));