checkout_index_index.xml 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. <?xml version="1.0"?>
  2. <!--
  3. /**
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. -->
  8. <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="checkout" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
  9. <body>
  10. <referenceContainer name="content">
  11. <block class="Magento\Checkout\Block\Onepage" name="checkout.root" template="Magento_Checkout::onepage.phtml" cacheable="false">
  12. <arguments>
  13. <argument name="jsLayout" xsi:type="array">
  14. <item name="types" xsi:type="array">
  15. <item name="form.input" xsi:type="array">
  16. <item name="component" xsi:type="string">Magento_Ui/js/form/element/abstract</item>
  17. <item name="config" xsi:type="array">
  18. <item name="provider" xsi:type="string">checkoutProvider</item>
  19. <item name="deps" xsi:type="array">
  20. <item name="0" xsi:type="string">checkoutProvider</item>
  21. </item>
  22. <item name="template" xsi:type="string">ui/form/field</item>
  23. <item name="elementTmpl" xsi:type="string">ui/form/element/input</item>
  24. </item>
  25. </item>
  26. </item>
  27. <item name="components" xsi:type="array">
  28. <item name="checkout" xsi:type="array">
  29. <item name="component" xsi:type="string">uiComponent</item>
  30. <item name="config" xsi:type="array">
  31. <item name="template" xsi:type="string">Magento_Checkout/onepage</item>
  32. </item>
  33. <item name="children" xsi:type="array">
  34. <item name="errors" xsi:type="array">
  35. <item name="sortOrder" xsi:type="string">0</item>
  36. <item name="component" xsi:type="string">Magento_Ui/js/view/messages</item>
  37. <item name="displayArea" xsi:type="string">messages</item>
  38. </item>
  39. <item name="authentication" xsi:type="array">
  40. <item name="sortOrder" xsi:type="string">1</item>
  41. <item name="component" xsi:type="string">Magento_Checkout/js/view/authentication</item>
  42. <item name="displayArea" xsi:type="string">authentication</item>
  43. <item name="children" xsi:type="array">
  44. <!--Additional authentication fields-->
  45. <item name="errors" xsi:type="array">
  46. <item name="sortOrder" xsi:type="string">0</item>
  47. <item name="component" xsi:type="string">Magento_Checkout/js/view/authentication-messages</item>
  48. <item name="displayArea" xsi:type="string">messages</item>
  49. </item>
  50. </item>
  51. </item>
  52. <item name="progressBar" xsi:type="array">
  53. <item name="sortOrder" xsi:type="string">0</item>
  54. <item name="component" xsi:type="string">Magento_Checkout/js/view/progress-bar</item>
  55. <item name="displayArea" xsi:type="string">progressBar</item>
  56. <item name="config" xsi:type="array">
  57. <item name="deps" xsi:type="array">
  58. <item name="0" xsi:type="string">checkout.steps.shipping-step.shippingAddress</item>
  59. <item name="1" xsi:type="string">checkout.steps.billing-step.payment</item>
  60. </item>
  61. </item>
  62. </item>
  63. <item name="estimation" xsi:type="array">
  64. <item name="sortOrder" xsi:type="string">10</item>
  65. <item name="component" xsi:type="string">Magento_Checkout/js/view/estimation</item>
  66. <item name="displayArea" xsi:type="string">estimation</item>
  67. <item name="config" xsi:type="array">
  68. <item name="template" xsi:type="string">Magento_Checkout/estimation</item>
  69. <item name="deps" xsi:type="array">
  70. <item name="0" xsi:type="string">checkout.sidebar</item>
  71. </item>
  72. </item>
  73. </item>
  74. <item name="steps" xsi:type="array">
  75. <item name="component" xsi:type="string">uiComponent</item>
  76. <item name="displayArea" xsi:type="string">steps</item>
  77. <item name="children" xsi:type="array">
  78. <item name="shipping-step" xsi:type="array">
  79. <item name="component" xsi:type="string">uiComponent</item>
  80. <item name="sortOrder" xsi:type="string">1</item>
  81. <item name="children" xsi:type="array">
  82. <item name="step-config" xsi:type="array">
  83. <item name="component" xsi:type="string">uiComponent</item>
  84. <item name="children" xsi:type="array">
  85. <item name="shipping-rates-validation" xsi:type="array">
  86. <item name="children" xsi:type="array">
  87. <!--Step configuration components-->
  88. </item>
  89. </item>
  90. </item>
  91. </item>
  92. <item name="shippingAddress" xsi:type="array">
  93. <item name="config" xsi:type="array">
  94. <item name="deps" xsi:type="array">
  95. <item name="0" xsi:type="string">checkout.steps.shipping-step.step-config</item>
  96. <item name="1" xsi:type="string">checkoutProvider</item>
  97. </item>
  98. <item name="popUpForm" xsi:type="array">
  99. <item name="element" xsi:type="string">#opc-new-shipping-address</item>
  100. <item name="options" xsi:type="array">
  101. <item name="type" xsi:type="string">popup</item>
  102. <item name="responsive" xsi:type="boolean">true</item>
  103. <item name="innerScroll" xsi:type="boolean">true</item>
  104. <item name="title" xsi:type="string" translate="true">Shipping Address</item>
  105. <item name="trigger" xsi:type="string">opc-new-shipping-address</item>
  106. <item name="buttons" xsi:type="array">
  107. <item name="save" xsi:type="array">
  108. <item name="text" xsi:type="string" translate="true">Save Address</item>
  109. <item name="class" xsi:type="string">action primary action-save-address</item>
  110. </item>
  111. <item name="cancel" xsi:type="array">
  112. <item name="text" xsi:type="string" translate="true">Cancel</item>
  113. <item name="class" xsi:type="string">action secondary action-hide-popup</item>
  114. </item>
  115. </item>
  116. </item>
  117. </item>
  118. </item>
  119. <item name="component" xsi:type="string">Magento_Checkout/js/view/shipping</item>
  120. <item name="provider" xsi:type="string">checkoutProvider</item>
  121. <item name="sortOrder" xsi:type="string">1</item>
  122. <item name="children" xsi:type="array">
  123. <item name="customer-email" xsi:type="array">
  124. <item name="component" xsi:type="string">Magento_Checkout/js/view/form/element/email</item>
  125. <item name="displayArea" xsi:type="string">customer-email</item>
  126. <item name="tooltip" xsi:type="array">
  127. <item name="description" xsi:type="string" translate="true">We'll send your order confirmation here.</item>
  128. </item>
  129. <item name="children" xsi:type="array">
  130. <item name="before-login-form" xsi:type="array">
  131. <item name="component" xsi:type="string">uiComponent</item>
  132. <item name="displayArea" xsi:type="string">before-login-form</item>
  133. <item name="children" xsi:type="array">
  134. <!-- before login form fields -->
  135. </item>
  136. </item>
  137. <item name="additional-login-form-fields" xsi:type="array">
  138. <item name="component" xsi:type="string">uiComponent</item>
  139. <item name="displayArea" xsi:type="string">additional-login-form-fields</item>
  140. <item name="children" xsi:type="array">
  141. <!-- additional login form fields -->
  142. </item>
  143. </item>
  144. </item>
  145. </item>
  146. <item name="before-form" xsi:type="array">
  147. <item name="component" xsi:type="string">uiComponent</item>
  148. <item name="displayArea" xsi:type="string">before-form</item>
  149. <item name="children" xsi:type="array">
  150. <!-- before form fields -->
  151. </item>
  152. </item>
  153. <item name="before-fields" xsi:type="array">
  154. <item name="component" xsi:type="string">uiComponent</item>
  155. <item name="displayArea" xsi:type="string">before-fields</item>
  156. <item name="children" xsi:type="array">
  157. <!-- before fields -->
  158. </item>
  159. </item>
  160. <item name="address-list" xsi:type="array">
  161. <item name="component" xsi:type="string">Magento_Checkout/js/view/shipping-address/list</item>
  162. <item name="displayArea" xsi:type="string">address-list</item>
  163. </item>
  164. <item name="address-list-additional-addresses" xsi:type="array">
  165. <item name="component" xsi:type="string">uiComponent</item>
  166. <item name="displayArea" xsi:type="string">address-list-additional-addresses</item>
  167. <item name="children" xsi:type="array">
  168. <!-- address-list-additional-addresses -->
  169. </item>
  170. </item>
  171. <item name="before-shipping-method-form" xsi:type="array">
  172. <item name="component" xsi:type="string">uiComponent</item>
  173. <item name="displayArea" xsi:type="string">before-shipping-method-form</item>
  174. <item name="children" xsi:type="array">
  175. <!-- address-list-additional-addresses -->
  176. </item>
  177. </item>
  178. <item name="shipping-address-fieldset" xsi:type="array">
  179. <item name="component" xsi:type="string">uiComponent</item>
  180. <item name="config" xsi:type="array">
  181. <item name="deps" xsi:type="array">
  182. <item name="0" xsi:type="string">checkoutProvider</item>
  183. </item>
  184. </item>
  185. <item name="displayArea" xsi:type="string">additional-fieldsets</item>
  186. <item name="children" xsi:type="array">
  187. <!-- The following items override configuration of corresponding address attributes -->
  188. <item name="region" xsi:type="array">
  189. <!-- Make region attribute invisible on frontend. Corresponding input element is created by region_id field -->
  190. <item name="visible" xsi:type="boolean">false</item>
  191. </item>
  192. <item name="region_id" xsi:type="array">
  193. <item name="component" xsi:type="string">Magento_Ui/js/form/element/region</item>
  194. <item name="config" xsi:type="array">
  195. <item name="template" xsi:type="string">ui/form/field</item>
  196. <item name="elementTmpl" xsi:type="string">ui/form/element/select</item>
  197. <item name="customEntry" xsi:type="string">shippingAddress.region</item>
  198. </item>
  199. <item name="validation" xsi:type="array">
  200. <item name="required-entry" xsi:type="boolean">true</item>
  201. </item>
  202. <!-- Value of region_id field is filtered by the value of county_id attribute -->
  203. <item name="filterBy" xsi:type="array">
  204. <item name="target" xsi:type="string"><![CDATA[${ $.provider }:${ $.parentScope }.country_id]]></item>
  205. <item name="field" xsi:type="string">country_id</item>
  206. </item>
  207. </item>
  208. <item name="postcode" xsi:type="array">
  209. <!-- post-code field has custom UI component -->
  210. <item name="component" xsi:type="string">Magento_Ui/js/form/element/post-code</item>
  211. <item name="validation" xsi:type="array">
  212. <item name="required-entry" xsi:type="boolean">true</item>
  213. </item>
  214. </item>
  215. <item name="company" xsi:type="array">
  216. <item name="validation" xsi:type="array">
  217. <item name="min_text_length" xsi:type="number">0</item>
  218. </item>
  219. </item>
  220. <item name="fax" xsi:type="array">
  221. <item name="validation" xsi:type="array">
  222. <item name="min_text_length" xsi:type="number">0</item>
  223. </item>
  224. </item>
  225. <item name="country_id" xsi:type="array">
  226. <item name="sortOrder" xsi:type="string">115</item>
  227. </item>
  228. <item name="telephone" xsi:type="array">
  229. <item name="config" xsi:type="array">
  230. <item name="tooltip" xsi:type="array">
  231. <item name="description" xsi:type="string" translate="true">For delivery questions.</item>
  232. </item>
  233. </item>
  234. </item>
  235. </item>
  236. </item>
  237. </item>
  238. </item>
  239. </item>
  240. </item>
  241. <item name="billing-step" xsi:type="array">
  242. <item name="component" xsi:type="string">uiComponent</item>
  243. <item name="sortOrder" xsi:type="string">2</item>
  244. <item name="children" xsi:type="array">
  245. <item name="payment" xsi:type="array">
  246. <item name="component" xsi:type="string">Magento_Checkout/js/view/payment</item>
  247. <item name="config" xsi:type="array">
  248. <item name="title" xsi:type="string" translate="true">Payment</item>
  249. </item>
  250. <item name="children" xsi:type="array">
  251. <item name="renders" xsi:type="array">
  252. <item name="component" xsi:type="string">uiComponent</item>
  253. <item name="children" xsi:type="array">
  254. <!-- merge payment method renders here -->
  255. </item>
  256. </item>
  257. <item name="additional-payment-validators" xsi:type="array">
  258. <item name="component" xsi:type="string">uiComponent</item>
  259. <item name="children" xsi:type="array">
  260. <!-- merge payment validators here -->
  261. <item name="email-validator" xsi:type="array">
  262. <item name="component" xsi:type="string">Magento_Checkout/js/view/payment/email-validator</item>
  263. </item>
  264. </item>
  265. </item>
  266. <item name="customer-email" xsi:type="array">
  267. <item name="component" xsi:type="string">Magento_Checkout/js/view/form/element/email</item>
  268. <item name="displayArea" xsi:type="string">customer-email</item>
  269. <item name="tooltip" xsi:type="array">
  270. <item name="description" xsi:type="string" translate="true">We'll send your order confirmation here.</item>
  271. </item>
  272. <item name="children" xsi:type="array">
  273. <item name="before-login-form" xsi:type="array">
  274. <item name="component" xsi:type="string">uiComponent</item>
  275. <item name="displayArea" xsi:type="string">before-login-form</item>
  276. <item name="children" xsi:type="array">
  277. <!-- before login form fields -->
  278. </item>
  279. </item>
  280. <item name="additional-login-form-fields" xsi:type="array">
  281. <item name="component" xsi:type="string">uiComponent</item>
  282. <item name="displayArea" xsi:type="string">additional-login-form-fields</item>
  283. <item name="children" xsi:type="array">
  284. <!-- additional login form fields -->
  285. </item>
  286. </item>
  287. </item>
  288. </item>
  289. <item name="beforeMethods" xsi:type="array">
  290. <item name="component" xsi:type="string">uiComponent</item>
  291. <item name="displayArea" xsi:type="string">beforeMethods</item>
  292. <item name="children" xsi:type="array">
  293. <!-- merge additional data before payment methods here -->
  294. </item>
  295. <item name="validation" xsi:type="array">
  296. <item name="validate-select" xsi:type="string">true</item>
  297. </item>
  298. <!-- Value of region_id field is filtered by the value of county_id attribute -->
  299. <item name="filterBy" xsi:type="array">
  300. <item name="target" xsi:type="string">${ $.provider }:${ $.parentScope }.country_id</item>
  301. <item name="field" xsi:type="string">country_id</item>
  302. </item>
  303. </item>
  304. <item name="payments-list" xsi:type="array">
  305. <item name="component" xsi:type="string">Magento_Checkout/js/view/payment/list</item>
  306. <item name="displayArea" xsi:type="string">payment-methods-list</item>
  307. <item name="config" xsi:type="array">
  308. <item name="deps" xsi:type="array">
  309. <item name="0" xsi:type="string">checkout.steps.billing-step.payment.renders</item>
  310. <item name="1" xsi:type="string">checkout.steps.billing-step.payment.additional-payment-validators</item>
  311. </item>
  312. </item>
  313. <item name="children" xsi:type="array">
  314. <item name="before-place-order" xsi:type="array">
  315. <item name="component" xsi:type="string">uiComponent</item>
  316. <item name="displayArea" xsi:type="string">before-place-order</item>
  317. <item name="dataScope" xsi:type="string">before-place-order</item>
  318. <item name="provider" xsi:type="string">checkoutProvider</item>
  319. <item name="config" xsi:type="array">
  320. <item name="template" xsi:type="string">Magento_Checkout/payment/before-place-order</item>
  321. </item>
  322. </item>
  323. </item>
  324. </item>
  325. <!-- merge your payment methods here -->
  326. <item name="afterMethods" xsi:type="array">
  327. <item name="component" xsi:type="string">uiComponent</item>
  328. <item name="displayArea" xsi:type="string">afterMethods</item>
  329. <item name="children" xsi:type="array">
  330. <!-- merge additional data after payment methods here -->
  331. </item>
  332. </item>
  333. </item>
  334. </item>
  335. </item>
  336. </item>
  337. </item>
  338. </item>
  339. <item name="sidebar" xsi:type="array">
  340. <item name="sortOrder" xsi:type="string">50</item>
  341. <item name="component" xsi:type="string">Magento_Checkout/js/view/sidebar</item>
  342. <item name="displayArea" xsi:type="string">sidebar</item>
  343. <item name="config" xsi:type="array">
  344. <item name="template" xsi:type="string">Magento_Checkout/sidebar</item>
  345. <item name="deps" xsi:type="array">
  346. <item name="0" xsi:type="string">checkout.steps</item>
  347. </item>
  348. </item>
  349. <item name="children" xsi:type="array">
  350. <item name="summary" xsi:type="array">
  351. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary</item>
  352. <item name="displayArea" xsi:type="string">summary</item>
  353. <item name="config" xsi:type="array">
  354. <item name="template" xsi:type="string">Magento_Checkout/summary</item>
  355. </item>
  356. <item name="children" xsi:type="array">
  357. <item name="totals" xsi:type="array">
  358. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary/totals</item>
  359. <item name="displayArea" xsi:type="string">totals</item>
  360. <item name="config" xsi:type="array">
  361. <item name="template" xsi:type="string">Magento_Checkout/summary/totals</item>
  362. </item>
  363. <item name="children" xsi:type="array">
  364. <!-- sort order for this totals is configured on admin panel-->
  365. <!-- Stores->Configuration->SALES->Sales->General->Checkout Totals Sort Order -->
  366. <item name="subtotal" xsi:type="array">
  367. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary/subtotal</item>
  368. <item name="config" xsi:type="array">
  369. <item name="title" xsi:type="string" translate="true">Cart Subtotal</item>
  370. </item>
  371. </item>
  372. <item name="shipping" xsi:type="array">
  373. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary/shipping</item>
  374. <item name="config" xsi:type="array">
  375. <item name="title" xsi:type="string" translate="true">Shipping</item>
  376. <item name="notCalculatedMessage" xsi:type="string" translate="true">Not yet calculated</item>
  377. </item>
  378. </item>
  379. <item name="grand-total" xsi:type="array">
  380. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary/grand-total</item>
  381. <item name="config" xsi:type="array">
  382. <item name="title" xsi:type="string" translate="true">Order Total</item>
  383. </item>
  384. </item>
  385. </item>
  386. </item>
  387. <item name="itemsBefore" xsi:type="array">
  388. <item name="component" xsi:type="string">uiComponent</item>
  389. <item name="children" xsi:type="array">
  390. <!-- merge your components here -->
  391. </item>
  392. </item>
  393. <item name="cart_items" xsi:type="array">
  394. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary/cart-items</item>
  395. <item name="children" xsi:type="array">
  396. <item name="details" xsi:type="array">
  397. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary/item/details</item>
  398. <item name="children" xsi:type="array">
  399. <item name="thumbnail" xsi:type="array">
  400. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary/item/details/thumbnail</item>
  401. <item name="displayArea" xsi:type="string">before_details</item>
  402. </item>
  403. <item name="subtotal" xsi:type="array">
  404. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary/item/details/subtotal</item>
  405. <item name="displayArea" xsi:type="string">after_details</item>
  406. </item>
  407. <item name="message" xsi:type="array">
  408. <item name="component" xsi:type="string">Magento_Checkout/js/view/summary/item/details/message</item>
  409. <item name="displayArea" xsi:type="string">item_message</item>
  410. </item>
  411. </item>
  412. </item>
  413. </item>
  414. </item>
  415. <item name="itemsAfter" xsi:type="array">
  416. <item name="component" xsi:type="string">uiComponent</item>
  417. <item name="children" xsi:type="array">
  418. <!-- merge your components here -->
  419. </item>
  420. </item>
  421. </item>
  422. </item>
  423. <item name="shipping-information" xsi:type="array">
  424. <item name="component" xsi:type="string">Magento_Checkout/js/view/shipping-information</item>
  425. <item name="config" xsi:type="array">
  426. <item name="deps" xsi:type="string">checkout.steps.shipping-step.shippingAddress</item>
  427. </item>
  428. <item name="displayArea" xsi:type="string">shipping-information</item>
  429. <item name="children" xsi:type="array">
  430. <item name="ship-to" xsi:type="array">
  431. <item name="component" xsi:type="string">Magento_Checkout/js/view/shipping-information/list</item>
  432. <item name="displayArea" xsi:type="string">ship-to</item>
  433. </item>
  434. </item>
  435. </item>
  436. </item>
  437. </item>
  438. </item>
  439. </item>
  440. <item name="checkoutProvider" xsi:type="array">
  441. <item name="component" xsi:type="string">uiComponent</item>
  442. </item>
  443. </item>
  444. </argument>
  445. </arguments>
  446. </block>
  447. </referenceContainer>
  448. <referenceContainer name="page.messages" remove="true"/>
  449. </body>
  450. </page>