2011-07-27 3 views
6

나는 ajax를 통해로드하려는 카트 사이드 바의 렌더링 된 버전을로드하려고하고 있습니다 ... 저는 많이 찾고 있었고 가장 좋은 방법은 내 모든 Ajax 요청을 처리 할 사용자 정의 모듈을 만드는 것입니다. 나는 맞춤 모듈을 만들었지 만 모든 것이 올바르게 작동하지 않는 것 같지만 sidebar.phtml을 올바르게 표시하지는 않습니다. 카트에 아무 것도없는 것처럼 표시됩니다. (메신저 그냥 세션 정보를 사용하지 않고 파일을 읽으려고 가정). 나는 무리를 수색했으나 아무것도하려는 것은 아무 것도 보이지 않습니다.컨트롤러에서 magento보기 (.phtml) 파일을로드하는 방법

내 맞춤 컨트롤러에서 checkout/cart/sidebar.phtml 파일의 본질적으로 사본과 과거 인 phtml 파일을로드하는 데 사용하는 코드입니다.

$layout = $this->loadLayout(); 


$block = $this->getLayout()->createBlock(
'Mage_Core_Block_Template', 
'PPWD_Custom', 
array('template' => 'custom/custom.phtml') 
); 
echo $block->toHtml(); 

감사

답변

3

문제는 잘못된 블록 타입입니다. Mage_Core_Block_Template 대신 Mage_Checkout_Block_Cart_Sidebar을 사용해야합니다. 이와 같이 :

$this->getLayout()->createBlock(
    'checkout/cart_sidebar', 
    'PPWD_Custom', 
    array('template' => 'custom/custom.phtml') 
); 
+0

아직 운이없는 코드를로드하려고 시도했지만 아무 것도 출력하지 않습니다. 이 컨트롤러 내에서 원래의 "렌더링 된"sidecart.phtml 파일을로드 할 수 있습니까? 렌더링하면 실제로는 빈 상태를 나타내는 것과는 반대로 카트에있는 내용이 실제로 표시됩니다. Thanks again again – user398314

+0

사용자 정의 컨트롤러에 해당하는 레이아웃 파일에서 apple/design/frontend/base/default/layout/checkout.xml과 같이 cart_sidebar 블록 정의를 추가해야합니다. 여기에서 다양한 제품 유형에 대한 렌더러를 추가하는 방법을 볼 수 있습니다. – vsushkov

+0

괜찮아요. 나는 또한 제안했지만 여전히 아무것도 시도하지 않았습니다. 내 전체 controllerindex 함수와 레이아웃 파일을 [link] (http://pastebin.com/ZiebvBSf)에 게시했는데 정확히 어디에서 잘못 될지 알지 못합니다. 커스텀 템플리트 디렉토리는 기본적으로 * theme */template/checkout의 사본입니다. – user398314

관련 문제