Witam, dzięki za radę. Niestety muszę zostać przy konfigurowalnych produktach, ponieważ te opcję się powtarzają przy każdym produkcie, gdyby to był jednostkowy przypadek, masz rację wtedy niestandardowe opcje i sprawa załatwiona.
Aktualnie rozwiązałem to w bardzo nieładny sposób, przez zmianę części pliku:
app/design/frontend/base/default/template/catalog/product/view/addtocart.phml
<?php if($_product->isSaleable()): ?>
<?php
//sprawdzamy czy jakiś simple product nalerzący do configurable product ma stan magazynowy = 0, jeśli tak, to wyświetlamy pustego div'a "add-to-cart", jeśli nie to standardowy przycisk dodaj do koszyka
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($_product);
$col = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
foreach($col as $simple_product){
$qtySimple = round(Mage::getModel('cataloginventory/stock_item')->loadByProduct($simple_product)->getQty());
if ($qtySimple == 0){
$outOfStock = 1;
}
}
?>
<?php if (isset($outOfStock)): ?>
<div class="add-to-cart"></div>
<?php else: ?>
<div class="add-to-cart">
<?php if(!$_product->isGrouped()): ?>
<label for="qty"><?php echo $this->__('Qty:') ?></label>
<input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
<?php endif; ?>
<button type="button" title="<?php echo $buttonTitle ?>" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span><?php echo $buttonTitle ?></span></span></button>
<?php echo $this->getChildHtml('', true, true) ?>
</div>
<?php endif; ?>
<?php endif; ?>
To spełnia zadanie, tylko jeśli na liście produktów mamy przysłonięty button dodaj do koszyka domyślnie. Można jeszcze dorobić funkcję sprawdzającą w momencie dodania do koszyka (2 klientów ogląda ten sam produkt)
Jeśli ktoś ma pomysł jak lepiej zrobić, niech da znać.