<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * Multishipping checkout billing information * * @var $block \Magento\Multishipping\Block\Checkout\Billing * @var $escaper \Magento\Framework\Escaper * @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */ ?> <div id="checkout-loader" data-role="checkout-loader" class="loading-mask" data-mage-init='{"billingLoader": {}}'><div class="loader"><img src="<?= $escaper->escapeUrl($block->getViewFileUrl('images/loader-1.gif')); ?>" alt="<?= $escaper->escapeHtml(__('Loading...')); ?>"></div></div><?= /* @noEscape */ $secureRenderer->renderStyleAsTag('position: absolute;', 'div#checkout-loader .loader img') ?> <?php $checkoutConfig = /* @noEscape */ $block->getCheckoutData()->getSerializedCheckoutConfigs(); $scriptString = <<<script
    window.checkoutConfig = {$checkoutConfig};
    window.isCustomerLoggedIn = window.checkoutConfig.isCustomerLoggedIn;
    window.customerData = window.checkoutConfig.customerData;
script; ?> <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?> <div id="checkout" data-bind="scope:'checkoutMessages'"><!-- ko template: getTemplate() --><!-- /ko --><script type="text/x-magento-init">
        {
            "#checkout": {
                "Magento_Ui/js/core/app": {
                   "components": {
                        "checkoutMessages": {
                            "component": "Magento_Ui/js/view/messages",
                            "displayArea": "messages"
                        }
                    }
                }
            }
        }</script></div><form action="<?= $escaper->escapeUrl($block->getPostActionUrl()); ?>" method="post" id="multishipping-billing-form" class="form multicheckout billing"><div class="block block-billing"><div class="block-content"><div class="box box-billing-address"><strong class="box-title"><span><?= $escaper->escapeHtml(__('Billing Address')); ?></span> <a href="<?= $escaper->escapeUrl($block->getSelectAddressUrl()); ?>" class="action"><span><?= $escaper->escapeHtml(__('Change')); ?></span></a></strong> <div class="box-content"><address><?= /* @noEscape */ $block->getCheckoutData()->getAddressHtml($block->getAddress()); ?></address></div></div><div class="box box-billing-method"><fieldset class="fieldset"><legend class="legend box-title"><span><?= $escaper->escapeHtml(__('Payment Method')); ?></span></legend><br> <div class="box-content"><?= $block->getChildHtml('payment_methods_before') ?> <?php /* Payment methods forms list */ ?> <dl class="checkout-payment-method" id="payment-methods"><?php $methods = $block->getMethods(); $methodsCount = count($methods); $methodsForms = $block->hasFormTemplates() ? $block->getFormTemplates(): []; foreach ($methods as $_method): $code = $_method->getCode(); $checked = $block->getSelectedMethodCode() === $code; if (isset($methodsForms[$code])) { $block->setMethodFormTemplate($code, $methodsForms[$code]); } ?> <div data-bind="scope: 'payment_method_<?= $escaper->escapeHtml($code);?>'"><dt class="item-title"><?php if ($methodsCount > 1): ?> <input type="radio" id="p_method_<?= $escaper->escapeHtml($code); ?>" value="<?= $escaper->escapeHtml($code); ?>" name="payment[method]" title="<?= $escaper->escapeHtml($_method->getTitle()) ?>" data-bind=" value: getCode(), checked: isChecked, click: selectPaymentMethod, visible: isRadioButtonVisible()" <?php if ($checked): ?> checked="checked" <?php endif; ?> class="radio"/><?php else: ?> <input type="radio" id="p_method_<?= $escaper->escapeHtml($code); ?>" value="<?= $escaper->escapeHtml($code); ?>" name="payment[method]" data-bind=" value: getCode(), afterRender: selectPaymentMethod" checked="checked" class="radio solo method" /><?php endif; ?> <label for="p_method_<?= $escaper->escapeHtml($code); ?>"><?= $escaper->escapeHtml($_method->getTitle()) ?></label></dt><?php if ($html = $block->getChildHtml('payment.method.' . $code)): ?> <dd class="item-content <?= $checked ? '' : 'no-display'; ?>"><?= /* @noEscape */ $html; ?></dd><?php endif; ?></div><?php endforeach; ?></dl><?= $block->getChildHtml('payment_methods_after') ?> <?= $block->getChildHtml('checkout_billing_items') ?></div></fieldset></div></div></div><div class="actions-toolbar"><div class="primary" id="parent-payment-continue"><button id="payment-continue" type="button" class="action primary continue"><span><?= $escaper->escapeHtml(__('Go to Review Your Order')); ?></span></button></div><div class="secondary"><a href="<?= $escaper->escapeUrl($block->getBackUrl()); ?>" class="action back"><span><?= $escaper->escapeHtml(__('Back to Shipping Information')); ?></span></a></div></div></form><?php $quoteBaseGrandTotal = (float)$block->getQuoteBaseGrandTotal(); $scriptString = <<<script

    require(['jquery', 'mage/mage'], function(jQuery) {
        var addtocartForm = jQuery('#multishipping-billing-form');

        addtocartForm.mage('payment', {
            checkoutPrice: {$quoteBaseGrandTotal}
        });

        addtocartForm.mage('validation', {
            errorPlacement: function(error, element) {
                if (element.attr('data-validate') && element.attr('data-validate').indexOf('validate-cc-ukss') >= 0) {
                    element.parents('form').find('[data-validation-msg="validate-cc-ukss"]').html(error);
                } else {
                    element.after(error);
                }
            }
        });
    });

script; ?> <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?> <?php $scriptString = <<<script

    //<![CDATA[
    require(
        [
            'Magento_Checkout/js/model/quote',
            'jquery',
            'domReady!'
        ], function(quote, $) {
            quote.billingAddress({

script; $scriptString .= "city: '" . $escaper->escapeJs($block->getAddress()->getCity()) . "'," . PHP_EOL; $scriptString .= "company: '" . $escaper->escapeJs($block->getAddress()->getCompany()) . "'," . PHP_EOL; $scriptString .= "countryId: '" . $escaper->escapeJs($block->getAddress()->getCountryId()) . "'," . PHP_EOL; $scriptString .= "customerAddressId: '" . $escaper->escapeJs($block->getAddress()->getCustomerAddressId()) . "'," . PHP_EOL; $scriptString .= "customerId: '" . $escaper->escapeJs($block->getAddress()->getCustomerId()) . "'," . PHP_EOL; $scriptString .= "fax: '" . $escaper->escapeJs($block->getAddress()->getFax()) . "'," . PHP_EOL; $scriptString .= "firstname: '" . $escaper->escapeJs($block->getAddress()->getFirstname()) . "'," . PHP_EOL; $scriptString .= "lastname: '" . $escaper->escapeJs($block->getAddress()->getLastname()) . "'," . PHP_EOL; $scriptString .= "postcode: '" . $escaper->escapeJs($block->getAddress()->getPostcode()) . "'," . PHP_EOL; $scriptString .= "regionId: '" . $escaper->escapeJs($block->getAddress()->getRegionId()) . "'," . PHP_EOL; $scriptString .= "regionCode: '" . $escaper->escapeJs($block->getAddress()->getRegionCode()) . "'," . PHP_EOL; $scriptString .= "region: '" . $escaper->escapeJs($block->getAddress()->getRegion()) . "'," . PHP_EOL; $scriptString .= "street: " . /* @noEscape */ json_encode($block->getAddress()->getStreet()) . "," . PHP_EOL; $scriptString .= "telephone: '" . $escaper->escapeJs($block->getAddress()->getTelephone()) . "'" . PHP_EOL; $scriptString .= <<<script
            });
        });
    //]]>

script; ?> <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>