2012-02-29 4 views
0

get ajax 호출을 사용하여 페이지를 가져옵니다.자바 스크립트 호출에 의해 레이아웃을 사용 중지합니다.

$.get('/notification/viewmessage',{user:username},function(data){ 
       //my code here 
      }); 

나는 일부 $.get 통화에서 페이지의 레이아웃을 비활성화 wan't. zend의 기본 레이아웃 비활성화 기능은 $this->_helper->layout->disableLayout(); 이지만 모든 페이지 요청에서이 작업을 원하지 않습니다. js 요청 자체에 일부 코드를 추가하여이 작업을 수행 할 수 있습니까? 사전에 감사합니다.

+1

변수를 URL에 추가 한 다음 페이지에서 해당 변수를 확인할 수 있습니다. –

답변

1

에서 notification/viewmessage.phtml

<?php echo $this->render('notification/viewmessage.ajax.phtml') ?> 

및 배치 일반보기의 내용에서 예를

public function init() 
{ 
    $this->_helper->ajaxContext->addActionContext('viewmessage', 'html') 
           ->initContext('html'); 
           // this avoids having to pass a format param 
} 

를 들어 당신은 아마 당신의 viewmessage 스크립트에 플래그를 추가 할 것입니다.

$.get('/notification/viewmessage?layout=false',{user:username},function(data){ 
    //my code here 
}); 

그런 다음 viewmessage 스크립트에서 스크립트 상단에 이와 같은 기능을 제공합니다.

if($this->getRequest()->getParam('layout') == 'false') 
{ 
    $this->_helper->layout->disableLayout(); 
} 
1

이것이 바로 AjaxContext action helper의 기능입니다.

컨트롤러의 init() 메서드에 대한 구성 호출을 추가하고 .ajax.phtml 뷰를 만들고 일반 뷰 스크립트로 렌더링하십시오. notification/viewmessage.ajax.phtml

관련 문제