Quiero mover el botón de orden de lugar desde el pago a la barra lateral en la página de pago.
¿Alguien me puede dar una sugerencia?
Editar : ¿Es esto posible (con la respuesta / enfoque proporcionado) ?
Según mi investigación, cada método de pago tiene su propia plantilla .html que incluye un botón propio. Este botón no se carga desde una plantilla knockout.js. Por ejemplo, una parte del método de pago "gratis":
<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>
Si bien el método de pago de "cheque / giro postal" se ve así (solo las diferencias son enable: (getCode() == isChecked())
pero bueno, todavía hay diferencias y no hay un "1 botón de orden general todopoderoso":
<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>
La respuesta proporcionada solo mueve los acuerdos que resultan en algo como esto:
magento-2.1
onepage-checkout
knockoutjs
place-order
TUYEN TRAN THANH
fuente
fuente
Respuestas:
Tuve el requisito similar de cambiar el botón de orden de lugar en la parte inferior del bloque de resumen. Dado que hay un botón de orden de lugar asignado a cada método de pago. He creado un botón de pedido de lugar personalizado junto al bloque de resumen de pedido. Al hacer clic en el botón, he activado el botón de pedido de lugar del método de pago seleccionado.
Paso 1:
Crea un
checkout_index_index.xml
archivo enPaso 2:
Crea un archivo
summary.html
en la rutaPaso 3:
Crea un archivo
summary.js
en la rutaEtapa 4:
Para ocultar el botón de orden de lugar predeterminado, use el archivo CSS de la siguiente manera
Se adjunta la captura de pantalla!
fuente
Todas estas respuestas no están completas porque falta el archivo Registration.php para el módulo de registro
Esta es la mejor respuesta que encontré.
https://github.com/davidroberto/magento2-place_order_sidebar
Aquí hay un módulo completo que solo necesita colocar bajo la aplicación / código y ejecutar php bin / magento setup: comando de actualización
¡¡¡Espero que esto ayude!!!
fuente
al principio necesita crear checkout_index_index.xml en su tema, luego debe deshabilitar el artículo antes de realizar el pedido en la línea 314:
con:
Luego, debe volver a agregar ese elemento al final de su Pago, luego de realizar el pedido, de esta manera:
Luego copie su plantilla predeterminada (html) después de realizar el pedido:
fuente