beforebodyend.phtml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <script>
  2. require(["jquery", 'underscore', 'Magento_Ui/js/modal/modal'], function ($, _, modal) {
  3. $(document).ready(function() {
  4. var documentPadding = 50;
  5. var firstAttempt = true;
  6. var lastHeight = 0, curHeight = 0;
  7. var parentBody = window.parent.document.body;
  8. $('.mfp-preloader', parentBody).css('display', 'none');
  9. $('.mfp-iframe-holder .mfp-content', parentBody).css('width', '100%');
  10. $('.mfp-iframe-scaler iframe', parentBody).animate({'opacity': 1}, 2000);
  11. $('.reviews-actions a').attr('target', '_parent');
  12. $('.product-social-links a').attr('target', '_parent');
  13. $('body').css('overflow', 'hidden');
  14. setInterval(function(){
  15. if (firstAttempt) {
  16. curHeight = $('.page-wrapper').outerHeight(true) + documentPadding;
  17. } else {
  18. curHeight = $('.page-wrapper').outerHeight(true);
  19. }
  20. documentHeight = curHeight + "px";
  21. if ( curHeight != lastHeight ) {
  22. $('.mfp-iframe-holder .mfp-content', parentBody).animate({
  23. 'height': documentHeight
  24. }, 500);
  25. lastHeight = curHeight;
  26. firstAttempt = false;
  27. }
  28. }, 500);
  29. });
  30. /** Events listener **/
  31. $(document).on('ajaxComplete', function (event, xhr, settings) {
  32. var parentBody = window.parent.document.body;
  33. var cartMessage = false;
  34. var closeSeconds = parseInt(window.weltpixel_quickview.closeSeconds);
  35. var showShoppingCheckoutButtons = parseInt(window.weltpixel_quickview.showShoppingCheckoutButtons);
  36. if (settings.type.match(/get/i) && _.isObject(xhr.responseJSON)) {
  37. var result = xhr.responseJSON;
  38. if (_.isObject(result.messages)) {
  39. var messageLength = result.messages.messages.length;
  40. var message = result.messages.messages[0];
  41. if (messageLength && message.type == 'success') {
  42. cartMessage = message.text;
  43. }
  44. }
  45. if (_.isObject(result.cart) && _.isObject(result.messages)) {
  46. var messageLength = result.messages.messages.length;
  47. var message = result.messages.messages[0];
  48. if (messageLength && message.type == 'success') {
  49. cartMessage = message.text;
  50. }
  51. }
  52. if (cartMessage) {
  53. window.parent.weltpixel_quickview.showMiniCartFlag = true;
  54. }
  55. if (showShoppingCheckoutButtons && cartMessage) {
  56. $('<div />').html('')
  57. .modal({
  58. title: cartMessage,
  59. autoOpen: true,
  60. buttons: [{
  61. text: $.mage.__('Continue Shopping'),
  62. attr: {
  63. 'data-action': 'confirm'
  64. },
  65. 'class': 'action primary',
  66. click: function () {
  67. this.closeModal();
  68. $('.mfp-close', parentBody).trigger('click');
  69. }
  70. },
  71. {
  72. text: $.mage.__('Go To Checkout'),
  73. attr: {
  74. 'data-action': 'cancel'
  75. },
  76. 'class': 'action primary',
  77. click: function () {
  78. parent.window.location = '<?php echo $block->getUrl('checkout', ['_secure' => true]);?>'
  79. }
  80. }]
  81. });
  82. }
  83. if (closeSeconds && cartMessage) {
  84. setTimeout(function(){
  85. $('.mfp-close', parentBody).trigger('click');
  86. }, closeSeconds * 1000);
  87. }
  88. }
  89. });
  90. });
  91. </script>
  92. <?php
  93. $_helper = $this->helper('WeltPixel\Quickview\Helper\Data');
  94. $customCss = $_helper->getCustomCSS();
  95. ?>
  96. <?php if (strlen($customCss)) : ?>
  97. <style>
  98. <?php echo $customCss; ?>
  99. </style>
  100. <?php endif; ?>