2012-07-12 3 views
0

CakePHP 셸로 여러 cronjob을 실행 중이므로 특정 문서를 생성해야합니다. 그들 중 일부는 PDF로 변환 될 HTML이고 일부는 HTML 컨텐츠가 포함 된 전자 메일입니다. 나는 이것들에 대한 템플릿/뷰를 가지며 컨트롤러를 통해 렌더링 할 수 있습니다. Shell에서 어떻게 렌더링 할 수 있습니까?CakePHP 쉘에서보기/템플릿을 렌더링하는 방법은 무엇입니까?

현재 특정 토큰을 필요한 문자열로 바꾸기 위해 str_replace()를 사용하고 있지만 더럽습니다. 루프 및 조건과 같은 템플릿과 유사한 기능이 필요합니다.

Smarty에는 Smarty-> fetch()가 있습니다. CodeIgniter에는 $ this-> load-> view()가 있습니다. CakePHP에서 어떻게 이루어 집니까?

답변

-1

str_replace가 더티로 표시되지 않습니다.

케이크 뷰는 "requestAction()"를 사용하여 ... 쉽게 변화 문자열 변수로 렌더링 할 수

function { 
requestAction("/controller/action/input1/input2",array("return")); 
} 

출처 : 게시글 # 3 병동에 : 케이크 1.3에서 http://cakebaker.wordpress.com/2005/12/31/cakephp-and-smartyies/

$posts = $this->requestAction(‘posts/index’); 
foreach($posts as $post): 
echo $post['Post']['title']; 
endforeach; 
+0

간단한 문자열보다 복잡한 구조를 대체해야하는 경우 str_replace가 더러워집니다. 이 requestAction()은 추가 컨트롤러가 필요하며 뷰의 액션이 렌더링됩니다. 또한 어떻게 작동하는지 모르겠지만, 실제 HTTP 요청을하는 것 같습니다. 나를 위해 첫 번째 매개 변수에 대한 전체 "http : // www.domain.com/controller/action/"넣어 경우에만 작동합니다. 나는 "이 데이터를 그 견해에 넣고 결과를 알려주는 것"과 같은 쉬운 접근법이있을 것이라고 생각했습니다. –

+0

아마도''이이를 템플릿 파일에 넣을 수 있습니다. 그렇다면 PHP 컨트롤러에서'function getFunction ($ result)'를 사용하여 그렇게 호출 할 수 있습니까? – TheBlackBenzKid

2

: 케이크 3.X에서

App::import('Controller'); 
    $this->view = new View(new Controller(), false); 
    $this->view->viewPath = 'elements'; 
    echo $this->view->element($name,$params); 

,536,
$view = new View(); 
    echo $view->element($name,$params); 
관련 문제