2012-01-31 1 views
0

오른쪽 열의 "변경"링크 진행률 상자가 내 사이트에서 더 이상 작동하지 않습니다. 디버깅시, 내가 AJAX 호출이 빈 checkout.accordion.openSection을 가지고 마크 업을 반환하는 것을()Checkout 진행 상태 상자가 빈 상태로 반환 됨 checkout.accordion.openSection ('')

<dt class="complete"> 
    Shipping Address <span class="separator">|</span> <a href="#payment" onclick="checkout.accordion.openSection('');return false;">Change</a> 
</dt> 

전화를 알았어 야 어떻게 이런 일이 가능할까요? 나는 내 테마에서 progress.phtml을 편집하지 않았다. 그래서 기본 버전이다. 그리고 기본 버전을 보면 하드 코딩 된 것으로 보입니다.

누구든지 아이디어가 있습니까?

편집 :

여기에 위의 마크 업에 대한 progress.phtml 파일의 코드가있다 :

그것은 기본적으로 하드 코딩 것
<dt class="complete"> 
     <?php echo $this->__('Shipping Address') ?> <span class="separator">|</span> <a href="#payment" onclick="checkout.accordion.openSection('opc-shipping');return false;"><?php echo $this->__('Change') ?></a> 
    </dt> 

, 맞죠? 그러면 어떻게 이것이 비어있는 것으로 끝날 수 있습니까?

+0

오류보고 켜기 컨트롤러가 호출되고 디버그가 표시되는지 확인 –

+0

예상대로 frontend/base/default/template/checkout/onepage/progress.phtml을 호출 중입니다. 각 단계의 맨 아래에 주문 속성이 표시되어 있지만 위의

마크 업에는 영향을주지 않습니다. – BeaverProj

답변

2

오늘이 버그가 발견되었습니다. 저에게 그것은 Amasty "Order Attributes"확장과 관련이 있습니다. System->Configuration->Amasty Extensions->Order Attributes 페이지의 "진행률 메뉴에 특성 값 표시"를 "아니요"로 설정하면 문제가 해결됩니다.

근본 원인은 code/local/Amasty/Orderattr/Block/Checkout/Onepage/Progress.php의 정규 표현식입니다. 괄호를 캡처 개방이 잘못된 위치에 있습니다

잘못된 (오리지널) :

$html = preg_replace('@opc-billing(.*?)<\/dd>@s', '$1'.$this->_getOrderAttributesHtml(2), $html); 

오른쪽 (주 개방은 정규식 패턴에서 괄호 - 다른 정규 표현식에 적용하면이 문제를 해결할 것) :

$html = preg_replace('@(opc-billing.*?)<\/dd>@s', '$1'.$this->_getOrderAttributesHtml(2), $html); 
+0

멋지다, 나는 이것을 조사 할 것이다. – BeaverProj

관련 문제