Pregunta

Tengo un cheque en mi pago para ver si un producto tiene el atributo la entrega directa establecida en Sí y, si es así, debería mostrar un mensaje.Sin embargo, si hay más de un producto en la canasta con el atributo establecido en Sí, muestra el mensaje más de una vez.¿Cómo puedo detener el formulario de mensaje que muestra más de una vez?

Esta es la afirmación de IF que tengo.

<?php $quote = Mage::getSingleton('checkout/session')->getQuote();
        $cartItems = $quote->getAllVisibleItems();
        foreach ($cartItems as $item)
        {
            $productId = $item->getProductId();
            $product = Mage::getModel('catalog/product')->load($productId);
                   if($product->getData('direct_delivery_product')==1){?>

             <div class="direct_message">
             <?php echo 'You have direct delivery products in your shopping cart. This means it may take longer than the standard 2-5 working days to deliver.';?></div>

                <?php unset($_shippingRateGroups["freeshipping"]);

             }

                }
?>

¿Fue útil?

Solución

Usa esto:

<?php $quote = Mage::getSingleton('checkout/session')->getQuote();
        $cartItems = $quote->getAllVisibleItems();
        foreach ($cartItems as $item)
        {
            $productId = $item->getProductId();
            $product = Mage::getModel('catalog/product')->load($productId);
                   if($product->getData('direct_delivery_product')==1){?>

             <div class="direct_message">
             <?php echo 'You have direct delivery products in your shopping cart. This means it may take longer than the standard 2-5 working days to deliver.';?></div>

                <?php unset($_shippingRateGroups["freeshipping"]);
                break;

             }

                }
?>

han agregado un descanso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top