se a declaração de exibir a mensagem de erro mais de uma vez
-
12-12-2019 - |
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"]);
}
}
?>
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