Os produtos da loja são fornecidos por diferentes fornecedores. É necessário criar vários pedidos para cada fornecedor com base em seus produtos no carrinho durante um checkout. Existe alguma extensão para realizar essa tarefa ou devo começar a desenvolver o módulo de checkout personalizado. E os pontos importantes para criar essa visão de extensão de desenvolvedores experientes do Magento? Você pode me explicar uma arquitetura breve do fluxo de checkout amigável ao Magento (o mais possível quanto ao nível do código)? Muito obrigado!
checkout
code
order-splitting
mageUz
fonte
fonte
Respostas:
É possível facilmente com a reescrita do
checkout/type_onepage
modelo.Nessa classe, substitua o
saveOrder()
método da seguinte maneira:Mas esteja ciente de que no Magento um pagamento está associado a uma fatura e cada fatura está associada a um pedido.
Consequentemente, isso significa que, assim que você tiver vários pedidos, você também dividirá os pagamentos . Portanto, isso só é possível se o método de pagamento não exigir interação do usuário durante o pagamento.
UPDATE : A resposta original à
parent::save()
qual foi delegadoparent:saveOrder()
. É corrigido no código de exemplo agora.fonte
saveOrder
ainda está presente e ativo no Magento CE 1.9, como sempre foi.O seguinte é testado na CE ver 1.9.0.x
IMPORTANTE Você precisa personalizar seus métodos de pagamento para recuperar o total geral da cotação.
fonte
$group[] = $item; // all other items in one order
pode conter vários itens por pedido, você pode modificar facilmente para que cada fornecedor tenha o seu$group
.$quote->Mage::getModel('sales/quote')->load($lastOrder->getQuoteId())
. Então há muitas totais você pode recuperar a partir$quote
, um dos quais é$quote->getGrandTotal()