Quero mover o botão de pedido do local do pagamento para a barra lateral na página de checkout.
Alguém pode me dar uma sugestão?
Edit : Isso é possível (com a resposta / abordagem fornecida) ?
Da minha pesquisa, todo método de pagamento tem seu próprio modelo .html, incluindo um botão. Este botão não é carregado a partir de um modelo knockout.js. Por exemplo, parte do método de pagamento "gratuito":
<div class="checkout-agreements-block">
<!-- ko foreach: $parent.getRegion('before-place-order') -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
</div>
<div class="actions-toolbar">
<div class="primary">
<button class="action primary checkout"
type="submit"
data-bind="
click: placeOrder,
attr: {title: $t('Place Order')},
css: {disabled: !isPlaceOrderActionAllowed()}
">
<span data-bind="i18n: 'Place Order'"></span>
</button>
</div>
</div>
Enquanto o método de pagamento "cheque / ordem de pagamento" se parece com este (apenas as diferenças são, enable: (getCode() == isChecked())
mas ei, ainda existem diferenças e não há "1 botão geral de pedido geral":
<div class="checkout-agreements-block">
<!-- ko foreach: $parent.getRegion('before-place-order') -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
</div>
<div class="actions-toolbar">
<div class="primary">
<button class="action primary checkout"
type="submit"
data-bind="
click: placeOrder,
attr: {title: $t('Place Order')},
css: {disabled: !isPlaceOrderActionAllowed()},
enable: (getCode() == isChecked())
"
disabled>
<span data-bind="i18n: 'Place Order'"></span>
</button>
</div>
</div>
A resposta fornecida apenas move os acordos que resultam em algo como isto:
magento-2.1
onepage-checkout
knockoutjs
place-order
TUYEN TRAN THANH
fonte
fonte
Respostas:
Eu tinha o requisito semelhante de alterar o botão de pedido de lugar na parte inferior do bloco de resumo. Como existe um botão de pedido de lugar atribuído a cada forma de pagamento. Criei um botão de pedido de local personalizado ao lado do bloco de resumo do pedido. Ao clicar no botão, ativei o botão de ordem do lugar do método de pagamento selecionado.
Passo 1:
Crie um
checkout_index_index.xml
arquivo noPasso 2:
Crie um arquivo
summary.html
no caminhoEtapa 3:
Crie um arquivo
summary.js
no caminhoPasso 4:
Para ocultar o botão de ordem do local padrão, use o arquivo CSS da seguinte maneira
Em anexo está a captura de tela!
fonte
Todas essas respostas não estão completas porque falta o arquivo registration.php para o módulo de registro
Esta é a melhor resposta que encontrei.
https://github.com/davidroberto/magento2-place_order_sidebar
Aqui está o módulo completo que você precisa apenas colocar em App / code e executar o comando php bin / magento setup: upgrade command
Espero que esta ajuda !!!
fonte
no início, você precisa criar checkout_index_index.xml no seu tema e desabilitar o item antes da ordem do local na linha 314:
com:
Em seguida, é necessário adicionar novamente esse elemento no final do seu Checkout, após o botão de pedido, como este:
Em seguida, copie seu modelo padrão (html) após a ordem do lugar:
fonte