Как решить проблему удаления мини-корзины из-за sh? - PullRequest
0 голосов
/ 20 января 2020

Когда я удаляю элемент из mini_basket, хотя все области обновляются, продукт не go из корзины. Мне нужно обновить страницу sh. Вот код html и .js. Как я могу решить эту проблему? Я просмотрел много разных сайтов, все они использовали один и тот же скрипт. Товар удален из списка, обновлена ​​цена корзины. Но визуально он все равно появляется в корзине.

$(document).ready(function() {
var loaded_mini_basket = false;
var autoclose_mini_basket = false;
var close_mini_basket_timeout;

function scheduleCloseMiniBasket() {
}

function genericLoadMiniBasket() {
    if (typeof($.frontend) != 'undefined') {
        $.frontend.events.trigger('update_dropdown_basket.before');
    }
    if ($('.mini_basket_pod_items').html().replace(/[^\d]/g, "") > '0') {
        if (loaded_mini_basket) {
            $('#hop').fadeIn(550);
        } else {
            if (typeof cssondemand == "function") cssondemand('mini-basket');
            $.get('/ajax/Ajax_Basket/getDropdownBasket', function(responseJson) {
                
				//jem
				$('#hop').fadeIn(550).html(responseJson[0]);
                $('.cartMenu').addClass('open');
				
				$(".scroll-pane").mCustomScrollbar({
        			advanced: {
            		updateOnContentResize: true
					},
					scrollButtons: {
            		enable: false
        			},
					mouseWheelPixels: "200",
        			theme: "dark-2",
					});
				
				
				loaded_mini_basket = true;
                if (typeof styleMiniBasket == 'function') {
                    styleMiniBasket();
                }
                if (typeof($.frontend) != 'undefined') {
                    $.frontend.events.trigger('update_dropdown_basket.after', [responseJson]);
                }
            }, 'json');
        }
    }
}
var genericLoadMiniBasketTimeout;
$('.generic_view_mini_basket_dropdown').livequery(function() {
    if ($(this).hasClass('generic_view_mini_basket_dropdown_click')) {
        $(this).click(function(e) {
            e.preventDefault();
            genericLoadMiniBasket();
        });
    } else {
        $(this).mouseenter(function() {
            delay = false; //$(this).attr('data-display-delay');
			if (delay) {
                genericLoadMiniBasketTimeout = setTimeout('genericLoadMiniBasket()', delay);
            } else {
                genericLoadMiniBasket();
            }
        });
        $(this).mouseleave(function() {
            //clearTimeout(genericLoadMiniBasketTimeout);
            onCloseMiniBasket();
        });
    }
});

$(document).click(function() {
    if ($('#hop:visible')) {}
});


function onOpenMiniBasket() {
    	$('.generic_view_mini_basket_dropdown').addClass('active');
}

function onCloseMiniBasket() {
         $('#hop').delay(100).fadeOut('500');
		 $('.cartMenu').removeClass('open');
	}
	
	
$(document).on('click', '.mini_basket_close', function(e) {
    onCloseMiniBasket();
});

/* Delet Basket item...  */

$(".mini_basket_remove_item").livequery("click", function(e) {
  e.preventDefault();
  if (typeof $.frontend != "undefined") {
    $.frontend.events.trigger("remove_from_basket.before");
  }
  $.get(
    "/ajax/Ajax_Basket/getDropdownBasket",
    { delete_basket_item: $(this).attr("rel") },
    function(responseJson) {
      if (responseJson[1] > "0") {
        $(".mini_basket_complete_container")
          .html(responseJson[0])
          .show();
      } else {
        $(".mini_basket_complete_container").hide();
      }
      if (
        $(".mini_basket_pod_items")
          .html()
          .indexOf("(") >= 0
      ) {
        $(".mini_basket_pod_items").html("(" + responseJson[1] + ")");
      } else {
        $(".mini_basket_pod_items").html(responseJson[1]);
      }
      $(".mini_basket_pod_totals_price").html(responseJson[2]);
      if (typeof styleMiniBasket == "function") {
        styleMiniBasket();
      }
      if (typeof $.frontend != "undefined") {
        $.frontend.events.trigger("remove_from_basket.after", [responseJson]);
      }
    },
    "json"
  );
});

function genericLoadMiniBasket() {
  if (typeof $.frontend != "undefined") {
    $.frontend.events.trigger("update_dropdown_basket.before");
  }
  if (
    $(".mini_basket_pod_items")
      .html()
      .replace(/[^\d]/g, "") > "0"
  ) {
    if (loaded_mini_basket) {
      $(".mini_basket_complete_container").show();
    } else {
      if (typeof cssondemand == "function") cssondemand("mini-basket");
      $.get(
        "/ajax/Ajax_Basket/getDropdownBasket",
        function(responseJson) {
          $(".mini_basket_complete_container")
            .html(responseJson[0])
            .show();
          loaded_mini_basket = true;
          if (typeof styleMiniBasket == "function") {
            styleMiniBasket();
          }
          if (typeof $.frontend != "undefined") {
            $.frontend.events.trigger("update_dropdown_basket.after", [
              responseJson
            ]);
          }
        },
        "json"
      );
    }
  }
}
var genericLoadMiniBasketTimeout;
$(".generic_view_mini_basket_dropdown").livequery(function() {
  if ($(this).hasClass("generic_view_mini_basket_dropdown_click")) {
    $(this).click(function(e) {
      e.preventDefault();
      genericLoadMiniBasket();
    });
  } else {
    $(this).mouseenter(function() {
      delay = $(this).attr("data-display-delay");
      if (delay) {
        genericLoadMiniBasketTimeout = setTimeout(
          "genericLoadMiniBasket()",
          delay
        );
      } else {
        genericLoadMiniBasket();
      }
    });
    $(this).mouseleave(function() {
      clearTimeout(genericLoadMiniBasketTimeout);
    });
  }
});

/*
$('.mini_basket_remove_item').livequery('click', function(e) {
    e.preventDefault();
    $.get('/ajax/Ajax_Basket/getDropdownBasket', {
        delete_basket_item: $(this).attr('rel')
    }, function(responseJson) {
        if (responseJson[1] > '0') {
            $('.mini_basket_complete_container').html(responseJson[0]).show();
        } else {
            $('.mini_basket_complete_container').hide();
        }
        if ($('.mini_basket_pod_items').html().indexOf("(") >= 0) {
            $('.mini_basket_pod_items').html('(' + responseJson[1] + ')');
        } else {
            $('.mini_basket_pod_items').html(responseJson[1]);
        }
        $('.mini_basket_pod_totals_price').html(responseJson[2]);
        if (typeof styleMiniBasket == 'function') {
            styleMiniBasket();
        }
    }, 'json');
});
});
*/

/*Search Button*/

	 function JBSubmitSearch() {

		var jb_action = "/s:"+$(".template_search_input").val()+'?productsearch='+$(".template_search_input").val();
		$('form[name=jb_search_form]').attr("action", jb_action);
		$('form[name=jb_search_form]').submit();
		
	};
	
	function JBSubmitSearchMobile() {
		var jb_action_mobile = "/s:"+$(".template_search_input_mobile").val()+"?productsearch="+$(".template_search_input_mobile").val();
		$('form[name=jb_search_form_mobile]').attr("action", jb_action_mobile);
		$('form[name=jb_search_form_mobile]').submit();
	};
  {literal}
  <style type="text/css">
   .mCSB_container.mCS_no_scrollbar {
    margin-right: 0 !important;
    padding: 0 3px;
  }
</style>
{/literal}


<div class="carttop" style="background: #ecf0f1;"> 
  <div class="basket-title">
    <p style="font-weight: bold;font-size: 16px;"> MY BAG</p>
                  <!--
                  <span class="mini_basket_header_text">Recently <span class="mini_basket_pod_items">{$basketItems}</span> {if $basketItems>1}items{else}item{/if} added...</span>
                -->
              </div>
              <div class="basket-close">
                <a href="javascript:void(0)" class="mini_basket_close pull-right"> <img src="/templates/{$templates_dir}/assets/images/close.jpg" height="25" width="25" alt="Close Basket" /> </a>
              </div>
            </div>
            
            
            {if $mini_basket } 
            <div class="w100 miniCartTable scroll-pane">
              <table>
                <tbody>

                 {foreach from = $mini_basket|@array_reverse:true item=mini} 
                 <tr class="miniCartProduct">
                  <td style="width:10%" class="miniCartProductThumb">
                    <a href="{$mini.product.product_filename}">
                     <img src="/images/ac_product_images/product_image_data/resizeandcrop:150:250/{$mini.product.image_id}" alt="{$mini.product.product_filename}" />
                   </a>
                 </td>
                 <td style="width:65%; vertical-align: top">
                  <div class="miniCartDescription">
                    <h4 style=" margin-bottom: 5px;"> <a href="{$mini.product.product_filename}" style="color: black;">{$mini.product.product_name}</a></h4>
                    {foreach from = $mini.product.variations item=variation key=variation_type}
                    <p class="size" style="margin-bottom: 0;">{$variation_type}: {$variation}</p>
                    {/foreach}
                    <p class="size" style="margin-bottom: 0;">Quantity: {$mini.product_quantity}</p>

                  </div>
                </td>
                <td  style="width:20%">
                  <div class="price" style="text-align:right; font-size:16px">
 
                    {if $mini.product.product_price_rrp > $mini.product.my_price}
                    <span style='font-weight: bold; text-decoration: line-through;' class="price_regular">{$mini.product.product_price_rrp|displayPrice}</span>
                    <span style='font-weight: bold; color:red' class="price_sale">{$mini.product.my_price|displayPrice}</span>
                    {else}
                    <span style='font-weight: bold'>{$mini.product.my_price|displayPrice}</span>
                    {/if}

                  </div>
                </td>

                <td style="vertical-align: top;padding-top: 0;">
                  <div style="text-align: right;font-size: 2rem;padding: 0.5rem;">
                    <div class="mini_basket_remove_button">
                    <!--a href="/basket?delete={$mini.id}" rel="{$mini.id}" class="basket_delete_product"><i class="fa fa-trash rollover" style="" alt="Remove Item"></i></a-->
                    <a href="" title="" class="mini_basket_remove_item" rel="{$mini.id}"><i class="fa fa-trash rollover" style="" alt="Remove Item" class="rollover"></i></a>
                      <!--a href="" title="" class="mini_basket_remove_item" rel="{$mini.id}"><img src="/templates/selectfashion.co.uk.new/assets/images/close.jpg" width="10" height="10" alt="Remove Item" class="rollover"></a-->
                    </div>
                  </div>
                </td>
                    
              </tr>
              {/foreach}

            </tbody>
          </table>
        </div>
        <!--/.miniCartTable-->

        <div class="miniCartFooter" style="padding: 0.5em 0 0.5em 0 !important; text-align: center;font-size: 20px !important;">
         {assign var="jb_subtotal_name" value="Subtotal"}
         {if $discount > 0} 
         {assign var="jb_subtotal_name" value="TOTAL"}

         <p class="subtotal" style="font-size: 16px;font-weight: bold; margin-bottom: 1rem;"> Subtotal <br>
          <span style="font-size: 17px;" class="mini_basket_pod_totals_price">{$totalCost|displayPrice}</span> </p>

          <p class="subtotal"  style="color:#F00;"> Discount: {$discount|displayPrice} </p>

          {/if}
          <p class="{$jb_subtotal_name}"> {$jb_subtotal_name}: <span class="mini_basket_pod_totals_price">{$totalCost-$discount|displayPrice}</span> </p>

          <a class="btn btn-sm btn-danger" href="/basket" style="width: 80%;margin:0 auto;color:white;box-shadow: 0 3px 6px 0 rgba(0,0,0,0.1), 0 5px 5px 0 rgba(0,0,0,0.1) !important;border-radius: 5px !important;padding: 0.75rem;"> <i class="fa fa-shopping-cart" > </i> VIEW BAG & CHECKOUT </a>
        </div>
        <!--/.miniCartFooter--> 
        {/if}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...