選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 

115 行
4.0 KiB

  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /** @var \Magento\Payment\Block\Transparent\Iframe $block */
  7. /** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */
  8. $params = $block->getParams();
  9. ?>
  10. <html>
  11. <head>
  12. <?php $scriptString = '' ?>
  13. <?php if (isset($params['redirect'])): ?>
  14. <?php $scriptString .= <<<script
  15. window.location="{$block->escapeJs($params['redirect'])}";
  16. script;
  17. ?>
  18. <?php elseif (isset($params['redirect_parent'])): ?>
  19. <?php $scriptString .= <<<script
  20. var require = window.parent.require;
  21. require(
  22. [
  23. 'jquery'
  24. ],
  25. function($) {
  26. var parent = window.parent;
  27. $(parent).trigger('clearTimeout');
  28. parent.location="{$block->escapeJs($params['redirect_parent'])}";
  29. }
  30. );
  31. script;
  32. ?>
  33. <?php elseif (isset($params['error_msg'])): ?>
  34. <?php
  35. $encodedMsg = /* @noEscape */ json_encode($params['error_msg']);
  36. $scriptString .= <<<script
  37. var require = window.parent.require;
  38. require(
  39. [
  40. 'jquery',
  41. 'Magento_Ui/js/model/messageList',
  42. 'mage/translate',
  43. 'Magento_Checkout/js/model/full-screen-loader'
  44. ],
  45. function($, globalMessageList, \$t, fullScreenLoader) {
  46. var parent = window.parent;
  47. $(parent).trigger('clearTimeout');
  48. fullScreenLoader.stopLoader();
  49. globalMessageList.addErrorMessage({
  50. message: \$t({$encodedMsg})
  51. });
  52. }
  53. );
  54. script;
  55. ?>
  56. <?php elseif (isset($params['multishipping'])): ?>
  57. <?php $scriptString .= <<<script
  58. var require = window.parent.require;
  59. require(
  60. [
  61. 'jquery'
  62. ],
  63. function($) {
  64. var parent = window.parent;
  65. $(parent).trigger('clearTimeout');
  66. $(parent.document).find('#multishipping-billing-form').trigger('submit');
  67. }
  68. );
  69. script;
  70. ?>
  71. <?php elseif (isset($params['order_success'])): ?>
  72. <?php $scriptString .= <<<script
  73. window.parent.location = "{$block->escapeJs($params['order_success'])}";
  74. script;
  75. ?>
  76. <?php else: ?>
  77. <?php $scriptString .= <<<script
  78. var require = window.parent.require;
  79. require(
  80. [
  81. 'jquery',
  82. 'Magento_Checkout/js/model/quote',
  83. 'Magento_Checkout/js/action/place-order',
  84. 'Magento_Checkout/js/action/redirect-on-success',
  85. 'Magento_Checkout/js/model/full-screen-loader'
  86. ],
  87. function($, quote, placeOrderAction, redirectOnSuccessAction, fullScreenLoader) {
  88. var parent = window.parent;
  89. $(parent).trigger('clearTimeout');
  90. $.when(
  91. placeOrderAction({'method': quote.paymentMethod().method})
  92. ).done(
  93. function () {
  94. redirectOnSuccessAction.execute();
  95. }
  96. ).fail(
  97. function () {
  98. var parent = window.parent;
  99. $(parent).trigger('clearTimeout');
  100. fullScreenLoader.stopLoader();
  101. }
  102. );
  103. }
  104. );
  105. script;
  106. ?>
  107. <?php endif; ?>
  108. <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>
  109. </head>
  110. <body></body>
  111. </html>