Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 如果“输入数量”框为0,则禁用添加到购物车_Magento_Magento 1.9 - Fatal编程技术网

Magento 如果“输入数量”框为0,则禁用添加到购物车

Magento 如果“输入数量”框为0,则禁用添加到购物车,magento,magento-1.9,Magento,Magento 1.9,我正在寻找解决我问题的办法。我有添加到购物车按钮和数量框类别列表。我需要在数量框0中禁用添加到购物车,并在数量为1或更多时允许添加到购物车。 我需要默认值0。 现在,当我点击添加到购物车按钮时,一个产品被添加到购物车 这个问题只是在类别列表中,而不是在产品页面上 我的代码来自/app/design/frontend/theme/theme/template/catalog/product/list.phtml <?php if ( !($product->getTypeInstan

我正在寻找解决我问题的办法。我有添加到购物车按钮和数量框类别列表。我需要在数量框0中禁用添加到购物车,并在数量为1或更多时允许添加到购物车。 我需要默认值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;?>

可能是这样(javascript):

jQuery('.addtocart')。每个(函数(){
var$self=jQuery(此),
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)
返回false;
其他的
eval(jQuery(this.data('onclick'));
});
});
当用户单击“添加到购物车”时,检查数量值是否大于等于1


编辑:修复一些问题。

将此条件用于禁用addtocart,并在添加到购物车的锚定标记中添加disabled=“disbled”

if($product->getProductDefaultQty() * 1 == 0){
   <a disabled = "disabled"></a>
}
else{
  // your normal code here for add to cart
}
if($product->getProductDefaultQty()*1==0){
}
否则{
//您在此处添加到购物车的常规代码
}

我试过了,但有问题,更改数量后什么也没发生。系统仍在使用禁用版本的代码。请检查此代码的值$product->getProductDefaultQty(),如果它不是0,则将转到esle条件。我尝试将您的代码添加到我的javascript代码中,但没有任何更改。仍然可以添加数量为0的产品。您是否联机了类别页面?你能把链接发给我们吗?是的。这里:桑克斯!现在它正在为类别列表的网格版本工作。我需要做一些版本,它将是完美的!非常感谢,不客气。如果可以的话,选择正确的鞍子。
if($product->getProductDefaultQty() * 1 == 0){
   <a disabled = "disabled"></a>
}
else{
  // your normal code here for add to cart
}