뷰를 특정 케이스에서 렌더링하지 못하게해야하지만 렌더링을 방지하는 방법을 이해할 수 없습니다. cakephp에서 빈보기를 렌더링합니다.
나는$this->autoRender=false
을 시도하지만 난 일반 컨트롤러와 다르게 렌더링 관리 할 API를 엔진을 사용하고 아마 때문에 아무 일도 일어나지 않습니다. 누구든지이 일을하는 속임수를 아십니까? 사용중인 API 엔진에 대해 아무것도 모른 채
뷰를 특정 케이스에서 렌더링하지 못하게해야하지만 렌더링을 방지하는 방법을 이해할 수 없습니다. cakephp에서 빈보기를 렌더링합니다.
나는$this->autoRender=false
을 시도하지만 난 일반 컨트롤러와 다르게 렌더링 관리 할 API를 엔진을 사용하고 아마 때문에 아무 일도 일어나지 않습니다. 누구든지이 일을하는 속임수를 아십니까? 사용중인 API 엔진에 대해 아무것도 모른 채
, 어쩌면 이것이 기본 빈 레이아웃입니다 아약스 레이아웃 $this->layout = 'ajax'
를 사용하는 빈 내용으로 빈 레이아웃을하고 $this->layout = 'empty_layout'
시도로 컨트롤러를 호출하려고 ajax 메소드에 사용됩니다.
솔루션을 검색하는 동안이 대답을 발견했습니다. 이 CakePHP 2.4.x에서 사용시 지금, 당신은 컨트롤러에서 다음 코드를 사용할 수 있습니다 : 이것은 렌더링되는 단지보기로 이어질 것입니다
$this->layout = false;
, 레이아웃없이.
$this->layout = 'ajax'
을 사용하는 것으로 충분하지 않습니다.
그러나이 두 줄을 사용하여 작동
:$this->layout = 'ajax';
$this->render(false);
그것은 오래된 질문입니다. 현재 cake-version은 3.x이며 빈 레이아웃을 사용하는 쉬운 방법이 있습니다.
만 컨트롤러에 추가 :
$this->viewBuilder()->autoLayout(false);
CakePHP의 3 autoLayout(false)
방법을 다른 대답에서 여전히 시스템이 호출하고있는 조치에 대한 대응보기/템플릿 파일을 찾으려고 할 것이다. 출력이 전혀 필요 없기 때문에 이것은 나에게 효과적이지 않으므로 빈 템플릿을 렌더링해야했습니다.
비어있는 모든 동작에 대해 빈 0123B파일을 만드는 것은 실제로는 하나의 옵션을 가지고 다시 사용하기를 원하기 때문에 실제로는 옵션이 아닙니다. CakePHP 2는 컨트롤러가 app/View
폴더를 조사하도록 구성 할 수있는 $this->viewPath
속성을 가졌지 만 CakePHP 3 대체품은 여전히 해당 컨트롤러와 접두사 폴더를 조사합니다. CakePHP3가 루트보기 경로에서 템플릿을 찾도록하는 것은 그리 명백한 방법이 아닙니다. 후자의 종류가있을 수 있음을 의미하기 때문에
$this->viewBuilder()->layout(false);
$this->viewBuilder()->templatePath('.'); // this
$this->viewBuilder()->template('my_blank_view');
또한
, 내가 대신 autoLayout(false)
의 $this->viewBuilder()->layout(false)
을 사용하고 있습니다 :
src/Template/my_blank_view.ctp
만들기 나중에 다른 레이아웃을 설정하면 layout(false)
은 레이아웃이 필요 없다고 명시 적으로 설정합니다.
public function function_without_layout(){
$this->viewBuilder()->autoLayout(false);
echo "hello Brij";
exit;
}
$this->layout = false;
은 CakePHP 버전 3에서 더 이상 사용되지 않습니다.CakePHP의 버전 3
에 대한
사용 $this->viewBuilder()->autoLayout(false);
는 컨트롤러에이 추가 :
$this->autoRender = false;
이 내 프로젝트에서 작동합니다.
아직보기 파일을 검색하려고하는데 '오류 : ExampleController :: myAction()에 대한보기가 없습니다.'라는 메시지가 표시됩니다. –