2017-03-29 38 views
0

我正在尋找解決方案來解決我的問題。我有添加到購物車按鈕和數量框的類別列表。我需要禁用添加到購物車時,在數量框0,並允許它是當1和更多。 我需要默認值0. 現在,當我點擊添加到購物車按鈕是一個產品添加到購物車。如果數量爲0,則禁用添加到購物車

此問題僅在分類列表中,而不在產品頁面上。

我從/app/design/frontend/theme/theme/template/catalog/product/list.phtml

<?php if (!($product->getTypeInstance(true)->hasOptions($product)/*$_product->getData('has_options')*/ || $product->isGrouped())) : ?> 

           <div class="qty-holder"> 
            <input type="text" name="qty" id="qty_<?php echo $_product->getId(); ?>" maxlength="12" value="<?php echo $product->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" /> 
            <div class="qty-changer"> 
             <a href="javascript:void(0)" class="qty_inc" style="height:34px; line-height:34px;"><i class="icon-up-dir"></i></a> 
             <a href="javascript:void(0)" class="qty_dec" style="height:34px; line-height:34px;"><i class="icon-down-dir"></i></a> 
            </div> 
           </div> 
          </form> 
          <?php $_productid == $_product->getId(); ?> 

          <a href="<?php if(!Mage::getStoreConfig("ajaxcart/addtocart/enablecategory", $code) && !Mage::getStoreConfig("porto_settings/category/qty_field", $code)): ?><?php echo $this->getAddToCartUrl($_product) ?><?php else: ?>javascript:void(0)<?php endif; ?>" class="addtocart" title="<?php echo $this->__('Add to Cart') ?>" <?php if(Mage::getStoreConfig("ajaxcart/addtocart/enablecategory", $code)):?>onclick="setLocationAjax(this,'<?php echo $this->getAddToCartUrl($_product) ?>','<?php echo $_product->getId(); ?>')"<?php elseif(Mage::getStoreConfig("porto_settings/category/qty_field", $code)): ?>onclick="document.getElementById('addtocart_form_<?php echo $_product->getId(); ?>').submit()"<?php endif; ?>><i class="icon-cart"></i><span>&nbsp;<?php echo $this->__('Add to Cart') ?></span></a> 

         <?php else : ?> 
          <a href="<?php if(Mage::getStoreConfig("ajaxcart/addtocart/enablecategory", $code)):?>javascript:showOptions('<?php echo $_product->getId()?>')<?php else: ?><?php echo $this->getAddToCartUrl($_product) ?><?php endif; ?>" class="addtocart" title="<?php echo $this->__('Add to Cart') ?>"><i class="icon-cart"></i><span>&nbsp;<?php echo $this->__('Add to Cart') ?></span></a> 
          <a href='<?php echo $this->getUrl('ajaxcart/index/options',array('product_id'=>$_product->getId()));?>' class='fancybox' id='fancybox<?php echo $_product->getId()?>' style='display:none'>Options</a> 
         <?php endif;?> 

任何想法的代碼?

謝謝!

回答

0

也許這樣的事情(JavaScript的):

jQuery('.addtocart').each(function() { 
    var $self = jQuery(this), 
     oldOnClick = $self.attr('onclick'), 
     $product = $self.closest('.item'); 

    $self.attr('data-onclick', oldOnClick).removeAttr('onclick'); 
    $self.off('click').on('click', function() { 
     if($product.find('.input-text.qty').val() < 1) 
      return false; 
     else 
      eval(jQuery(this).data('onclick')); 
    }); 
}); 

當用戶點擊 '添加到購物車',檢查數量值> = 1

編輯:修正一些東西..

+0

我試着將你的代碼添加到我的javascript代碼中,沒有任何改變。仍然可以添加數量爲0的產品。 – Jakub

+0

您是否有類別頁面在線?你能把鏈接發給我們嗎? –

+0

是的。這裏:http://aquanew.web-testovani.cz/zeleny-stitek-63.html?mode=list – Jakub

0

將這個條件禁用addtocart,並添加禁用=「功能已停用」在錨標記添加到購物車

if($product->getProductDefaultQty() * 1 == 0){ 
    <a disabled = "disabled"></a> 
} 
else{ 
    // your normal code here for add to cart 
} 
+0

我試了一下,但有問題,換了之後數量沒有任何變化。系統仍然使用禁用版本的代碼。 – Jakub

+0

檢查這段代碼給出的值$ product-> getProductDefaultQty()如果​​它不是0,那麼它將進入esle條件 –

相關問題