2014-04-16 5 views
0

확장 프로그램 개발을 위해 장바구니 페이지를 무시해야합니다. 모든 것이 잘 작동하지만 장바구니를 비우면 여전히 사용자 정의 템플릿 파일이 표시됩니다. 빈 장바구니 페이지가 표시되지 않습니다. 그때는 사용자 정의 템플릿을 표시하지 않습니다 "setCartTemplate"에 "setTemplate"에서 cart.phtml의 작용 방법을 변경하는 경우여전히 사용자 정의 템플릿이 빈 카트에 표시됩니다.

은 여기 내을 Module.xml

<?xml version="1.0"?> 
<layout version="1.0.0"> 
    <checkout_cart_index translate="label"> 
     <label>Shopping Cart</label> 
     <remove name="right"/> 
     <remove name="left"/> 
     <reference name="root"> 
      <action method="setTemplate"><template>page/1column.phtml</template></action> 
     </reference> 
    <reference name="content"> 
     <reference name="checkout.cart"> 
      <action method="setTemplate"><value>module/checkout/cart.phtml</value></action> 
      <action method="setEmptyTemplate"><value>module/checkout/cart/noItems.phtml</value></action> 
       <block type="module/list" name="module_list" template="module/checkout/list.phtml"> 
       <action method="setColumnCount"> 
        <columns>4</columns></action> 
      </block> 
     </reference> 
    </reference> 
    </checkout_cart_index> 
</layout> 

입니다. 기본 폴더에서 템플릿을 표시하고 있습니다 (지금은 기본 폴더에서 작업 중입니다). 장바구니 페이지를 비었을 때의 스크린 샷입니다. 이것에 대한 어떤 생각이든.

enter image description here

답변

0

XML은 올바른 보인다. 어쩌면 템플릿 파일에 PHP 오류가있는 경우 Magento는 기본 phtml 파일로 되돌아갑니다. 그래서 아마도 빠른 오류 로그에서 확인하거나 테스트하는 간단한 뭔가에 noItems.phtml을 변경 예를 들어

<?php echo("my template is here"); ?> 

내가 파일 이름 noItems.phtml 때문에 자본 '나'그래서 그냥 항목에서의 드문 있습니다 파일을 정확히 확인하려면 'noItems.phtml';-)

*** 아래의 주석을 편집하십시오.

파일을 사용하지 않는 이유를 디버그하기가 어렵습니다. 일부 에코 또는 로깅 문을 넣을 것입니다 :

//file: app/code/core/Mage/Checkout/Block/Cart.php 
//class: Mage_Checkout_Block_Cart 
//function: chooseTemplate() 
    public function chooseTemplate() 
    { 
     $itemsCount = $this->getItemsCount() ? $this->getItemsCount() : $this->getQuote()->getItemsCount(); 
     if ($itemsCount) { 
      $this->setTemplate($this->getCartTemplate()); 
     } else { 
      $this->setTemplate($this->getEmptyTemplate()); 
     } 
    } 

시스템 구성에서 템플릿 힌트를 켰습니까? 블록이나 템플릿을 노출하는 데 도움이 될 수 있습니다.

+0

답장 보내 주셔서 감사합니다. 템플릿 파일 이름이 정상입니다. 그 문제는 없습니다. 컨트롤러에서 템플릿을 설정하려고 시도하고 블록에서 설정하려고했습니다. 그러나 기본 폴더에서 템플릿 파일을 호출하는 중입니다. –

0
<reference name="checkout.cart"> 
    <action method="setCartTemplate"><value>module/checkout/cart.phtml</value></action> 
    <action method="setEmptyTemplate"><value>module/checkout/cart/noItems.phtml</value></action> 
    <action method="chooseTemplate"/> <== ADD THIS 
</reference> 
+1

답변에 대한 몇 가지 세부 정보를 추가하십시오. – emmanuel

관련 문제