overview.phtml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /** @var \Magento\Multishipping\Block\Checkout\Overview $block */
  7. ?>
  8. <?php $errors = $block->getCheckoutData()->getAddressErrors(); ?>
  9. <?php foreach ($errors as $addressId => $error) : ?>
  10. <div class="message message-error error">
  11. <?= $block->escapeHtml($error); ?>
  12. <?= $block->escapeHtml(__('Please see')); ?>
  13. <a href="#<?= $block->escapeHtml($block->getCheckoutData()->getAddressAnchorName($addressId)); ?>">
  14. <?= $block->escapeHtml(__('details below')); ?></a>.
  15. </div>
  16. <?php endforeach;?>
  17. <form action="<?= $block->escapeUrl($block->getPostActionUrl()); ?>"
  18. method="post"
  19. id="review-order-form"
  20. data-mage-init='{"orderOverview": {}, "validation":{}}'
  21. class="form multicheckout order-review">
  22. <?= /* @noEscape */ $block->getBlockHtml('formkey'); ?>
  23. <div class="block block-billing">
  24. <div class="block-title"><strong><?= $block->escapeHtml(__('Billing Information')); ?></strong></div>
  25. <div class="block-content">
  26. <div class="box box-billing-address">
  27. <?php $address = $block->getBillingAddress() ?>
  28. <strong class="box-title">
  29. <span><?= $block->escapeHtml(__('Billing Address')); ?></span>
  30. <a href="<?= $block->escapeUrl($block->getEditBillingAddressUrl($address)); ?>"
  31. class="action edit"><span><?= $block->escapeHtml(__('Change')); ?></span></a>
  32. </strong>
  33. <div class="box-content">
  34. <address>
  35. <?= /* @noEscape */ $address->format('html') ?>
  36. </address>
  37. </div>
  38. </div>
  39. <div class="box box-billing-method">
  40. <strong class="box-title">
  41. <span><?= $block->escapeHtml(__('Payment Method')); ?></span>
  42. <a href="<?= $block->escapeUrl($block->getEditBillingUrl()); ?>"
  43. class="action edit"><span><?= $block->escapeHtml(__('Change')); ?></span></a>
  44. </strong>
  45. <div class="box-content">
  46. <input type="hidden"
  47. name="payment[cc_number]"
  48. value="<?= $block->escapeHtml($block->getPayment()->getCcNumber()) ?>" />
  49. <input type="hidden"
  50. name="payment[cc_cid]"
  51. value="<?= $block->escapeHtml($block->getPayment()->getCcCid()) ?>" />
  52. <?= /* @noEscape */ $block->getPaymentHtml() ?>
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. <div class="block block-shipping">
  58. <div class="block-title"><strong><?= $block->escapeHtml(__('Shipping Information')); ?></strong></div>
  59. <?php $mergedCells = ($this->helper(Magento\Tax\Helper\Data::class)->displayCartBothPrices() ? 2 : 1); ?>
  60. <?php foreach ($block->getShippingAddresses() as $index => $address) : ?>
  61. <div class="block-content">
  62. <a name="<?= $block->escapeHtml($block->getCheckoutData()
  63. ->getAddressAnchorName($address->getId())); ?>"></a>
  64. <div class="title">
  65. <strong><?= $block->escapeHtml(__('Address')); ?> <?= $block->escapeHtml($index + 1); ?>
  66. <span>
  67. <?= $block->escapeHtml(__('of')); ?>
  68. <?= $block->escapeHtml($block->getShippingAddressCount())?>
  69. </span>
  70. </strong>
  71. </div>
  72. <?php if ($error = $block->getCheckoutData()->getAddressError($address)) : ?>
  73. <div class="error-description"><?= $block->escapeHtml($error); ?></div>
  74. <?php endif;?>
  75. <div class="box box-shipping-address">
  76. <strong class="box-title">
  77. <span><?= $block->escapeHtml(__('Shipping To')); ?></span>
  78. <a href="<?= $block->escapeUrl($block->getEditShippingAddressUrl($address)); ?>"
  79. class="action edit"><span><?= $block->escapeHtml(__('Change')); ?></span></a>
  80. </strong>
  81. <div class="box-content">
  82. <address>
  83. <?= /* @noEscape */ $address->format('html') ?>
  84. </address>
  85. </div>
  86. </div>
  87. <div class="box box-shipping-method">
  88. <strong class="box-title">
  89. <span><?= $block->escapeHtml(__('Shipping Method')); ?></span>
  90. <a href="<?= $block->escapeUrl($block->getEditShippingUrl()); ?>"
  91. class="action edit"><span><?= $block->escapeHtml(__('Change')); ?></span></a>
  92. </strong>
  93. <?php if ($_rate = $block->getShippingAddressRate($address)) : ?>
  94. <div class="box-content">
  95. <?= $block->escapeHtml($_rate->getCarrierTitle()) ?>
  96. (<?= $block->escapeHtml($_rate->getMethodTitle()) ?>)
  97. <?php
  98. $exclTax = $block->getShippingPriceExclTax($address);
  99. $inclTax = $block->getShippingPriceInclTax($address);
  100. $displayBothPrices = $this->helper(Magento\Tax\Helper\Data::class)
  101. ->displayShippingBothPrices() && $inclTax !== $exclTax;
  102. ?>
  103. <?php if ($displayBothPrices) : ?>
  104. <span class="price-including-tax"
  105. data-label="<?= $block->escapeHtml(__('Incl. Tax')); ?>">
  106. <?= /* @noEscape */ $inclTax ?>
  107. </span>
  108. <span class="price-excluding-tax"
  109. data-label="<?= $block->escapeHtml(__('Excl. Tax')); ?>">
  110. <?= /* @noEscape */ $exclTax; ?>
  111. </span>
  112. <?php else : ?>
  113. <?= /* @noEscape */ $inclTax ?>
  114. <?php endif; ?>
  115. </div>
  116. <?php endif; ?>
  117. </div>
  118. <div class="box box-items">
  119. <div class="box-content">
  120. <div class="order-review-wrapper table-wrapper">
  121. <table class="items data table table-order-review"
  122. id="overview-table-<?= $block->escapeHtml($address->getId()); ?>">
  123. <caption class="table-caption"><?= $block->escapeHtml(__('Order Review')); ?></caption>
  124. <thead>
  125. <tr>
  126. <th class="col item" scope="col"><?= $block->escapeHtml(__('Item')); ?>
  127. <a href="<?= $block->escapeUrl($block->getAddressesEditUrl()); ?>"
  128. class="action edit">
  129. <span><?= $block->escapeHtml(__('Edit')); ?></span>
  130. </a>
  131. </th>
  132. <th class="col price" scope="col"><?= $block->escapeHtml(__('Price')); ?></th>
  133. <th class="col qty" scope="col"><?= $block->escapeHtml(__('Qty')); ?></th>
  134. <th class="col subtotal" scope="col"><?= $block->escapeHtml(__('Subtotal')); ?></th>
  135. </tr>
  136. </thead>
  137. <tbody>
  138. <?php foreach ($block->getShippingAddressItems($address) as $item) : ?>
  139. <?= /* @noEscape */ $block->getRowItemHtml($item) ?>
  140. <?php endforeach; ?>
  141. </tbody>
  142. <tfoot>
  143. <?= /* @noEscape */ $block->renderTotals(
  144. $block->getShippingAddressTotals($address)
  145. ); ?>
  146. </tfoot>
  147. </table>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. <?php endforeach; ?>
  153. </div>
  154. <?php if ($block->getQuote()->hasVirtualItems()) : ?>
  155. <div class="block block-other">
  156. <?php $billingAddress = $block->getQuote()->getBillingAddress(); ?>
  157. <a name="<?= $block->escapeHtml($block->getCheckoutData()
  158. ->getAddressAnchorName($billingAddress->getId())); ?>"></a>
  159. <div class="block-title"><strong><?= $block->escapeHtml(__('Other items in your order')); ?></strong></div>
  160. <?php if ($error = $block->getCheckoutData()->getAddressError($billingAddress)) :?>
  161. <div class="error-description"><?= $block->escapeHtml($error); ?></div>
  162. <?php endif;?>
  163. <div class="block-content">
  164. <strong class="subtitle">
  165. <span><?= $block->escapeHtml(__('Items')); ?></span>
  166. <a href="<?= $block->escapeUrl($block->getVirtualProductEditUrl()); ?>"
  167. class="action edit"><span><?= $block->escapeHtml(__('Edit Items')); ?></span></a>
  168. </strong>
  169. <?php $mergedCells = ($this->helper(Magento\Tax\Helper\Data::class)->displayCartBothPrices() ? 2 : 1); ?>
  170. <div class="order-review-wrapper table-wrapper">
  171. <table class="items data table table-order-review" id="virtual-overview-table">
  172. <caption class="table-caption"><?= $block->escapeHtml(__('Items')); ?></caption>
  173. <thead>
  174. <tr>
  175. <th class="col item" scope="col"><?= $block->escapeHtml(__('Product Name')); ?></th>
  176. <th class="col price" scope="col"><?= $block->escapeHtml(__('Price')); ?></th>
  177. <th class="col qty" scope="col"><?= $block->escapeHtml(__('Qty')); ?></th>
  178. <th class="col subtotal" scope="col"><?= $block->escapeHtml(__('Subtotal')); ?></th>
  179. </tr>
  180. </thead>
  181. <tbody>
  182. <?php foreach ($block->getVirtualItems() as $_item) : ?>
  183. <?= /* @noEscape */ $block->getRowItemHtml($_item) ?>
  184. <?php endforeach; ?>
  185. </tbody>
  186. <tfoot>
  187. <?= /* @noEscape */ $block->renderTotals($block->getBillingAddressTotals()); ?>
  188. </tfoot>
  189. </table>
  190. </div>
  191. </div>
  192. </div>
  193. <?php endif; ?>
  194. <?= /* @noEscape */ $block->getChildHtml('items_after') ?>
  195. <div id="checkout-review-submit" class="checkout-review">
  196. <?= /* @noEscape */ $block->getChildHtml('agreements') ?>
  197. <div class="grand totals">
  198. <strong class="mark"><?= $block->escapeHtml(__('Grand Total:')); ?></strong>
  199. <strong class="amount">
  200. <?= /* @noEscape */ $this->helper(Magento\Checkout\Helper\Data::class)
  201. ->formatPrice($block->getTotal()); ?>
  202. </strong>
  203. </div>
  204. <div class="actions-toolbar" id="review-buttons-container">
  205. <div class="primary">
  206. <button type="submit"
  207. class="action primary submit"
  208. id="review-button"><span><?= $block->escapeHtml(__('Place Order')); ?></span>
  209. </button>
  210. </div>
  211. <div class="secondary">
  212. <a href="<?= $block->escapeUrl($block->getBackUrl()); ?>" class="action back">
  213. <span><?= $block->escapeHtml(__('Back to Billing Information')); ?></span>
  214. </a>
  215. </div>
  216. <span id="review-please-wait"
  217. class="please-wait load indicator"
  218. style="display: none;"
  219. data-text="<?= $block->escapeHtml(__('Submitting order information...')); ?>">
  220. <span><?= $block->escapeHtml(__('Submitting order information...')); ?></span>
  221. </span>
  222. </div>
  223. </div>
  224. </form>