Pergunta

eu tenho uma marca de verificação na minha caixa, para ver se um produto tem o atributo de entrega direta definida para sim e se por isso deve exibir uma mensagem.No entanto, se houver mais de um produto na cesta com o atributo definido para sim, ele exibe a mensagem mais de uma vez.Como posso parar o formulário de mensagem de exibir mais de uma vez?

Esta é a instrução SE eu tenho.

<?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"]);

             }

                }
?>
Foi útil?

Solução

Use isto:

<?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;

             }

                }
?>

Adicionou uma pausa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top