2012-08-01 8 views
4

헤더 및 캐시의 "My Car (#)"에 문제가 있습니다.Magento TopLink 캐시 내 장바구니 (#)

Magento Enterprise 1.12를 사용하고 있습니다. 문제는 내가 헤더에있는 카트에 항목을 추가하거나 삭제할 때 "내 차 (#)"가 있고 항목 양식을 추가하거나 제거 할 때마다 캐시가 업데이트되지 않기 때문에 캐시가 알지 못합니다. 그것을 해결하는 방법을 ...

단계 : 관리자

2에서

1) 청소 캐시) 홈 페이지에 입력은 (헤더에

3 "내 장바구니")를 표시) 제품 페이지로 이동

4) 홈 페이지 다시 이동 (여전히 헤더에) 헤더에 "내 쇼핑 카트 (1 개 항목)")

6 표시 (카트

5) 내 장바구니 페이지로 리디렉션으로 일부 제품을 추가 "1 장"으로 표시되지 않음)

관리 사이트로 이동하여 홈 페이지의 캐시를 지우면 "내 장바구니 (1 개 항목)"가 나타납니다. 그리고 나는 1 개의 항목을 가지고 있고 나서 그 항목을 장바구니에서 삭제할 때 똑같은 문제가있다.

나는 역동적이어서 흑인과 나는 그것을 할 줄 모른다.

독서를위한 Tnks! :)

+0

장바구니를 보여주는 블록이 바닥 글처럼 캐싱 될 수있는 것 같습니다 (동적 콘텐츠에서는 작동하지 않음). 다른 곳으로 옮겨보고 똑같은 문제가 있는지 확인하십시오. (사용자 정의 테마를 사용한다고 가정합니다) – pzirkind

+0

FPC (Full Page Cache)를 사용하고 있습니까? – Rabea

+0

FPC를 사용하지 않도록 설정하거나 [이 특정 블록에 대한 캐시를 사용하지 않도록 설정] (http://magento.stackexchange.com/questions/3124/how-can-i-disable-cache-for-particular-seection-or-block) . –

답변

0

좋아요, 여기에는 많은 문제가있을 수 있지만,이 문제를 디버그하는 가장 좋은 방법은 자바 스크립트 Minicart 메서드를 재정 의하여 무시할 수있는 방법을 찾는 것입니다. 모듈의 layout.xml 파일에서

사용자 정의 스크립트 by following this post

다음, Minicart.prototype 많은 기능을 가지고, 을 console.log (Minicart.prototype)를 추가;을보십시오.

updateItem 메서드에서 문제가 발생했습니다. JS 파일에 다음을 추가하여이를 재정의하십시오.

if (typeof Minicart != "undefined") { 
    Minicart.prototype.updateItem = function(el) { 
     var cart = this; 
     var input = $j(this.selectors.quantityInputPrefix + $j(el).data('item-id')); 
     var quantity = parseInt(input.val(), 10); 
     cart.hideMessage(); 
     cart.showOverlay(); 
     $j.ajax({ 
      type: 'POST', 
      dataType: 'json', 
      url: input.data('link'), 
      data: {qty: quantity, form_key: cart.formKey} 
     }).done(function(result) { 
      cart.hideOverlay(); 
      if (result.success) { 
       cart.updateCartQty(result.qty); 
       if (quantity !== 0) { 
        cart.updateContentOnUpdate(result); 
       } else { 
        cart.updateContentOnRemove(result, input.closest('li')); 
       } 
      } else { 
       cart.showMessage(result); 
      } 
     }).error(function() { 
      cart.hideOverlay(); 
      cart.showError(cart.defaultErrorMessage); 
     }); 
     return false; 
    }; 
} 

그리고 실패한 부분을 로그 아웃하기 시작하십시오. 이것이 오류의 원인이 아닌 경우 다른 방법을 시도하십시오.

해피 코딩!

관련 문제