2011-04-07 3 views
2

Symfony 질문 : 페이지의 HTML 콘텐츠를 가져 오거나 읽는 방법은 무엇입니까?

public function executeGetHTML($request) 
{ 
    $pageName = $request->getParameter('name', ''); 
} 

내가 출력

대신, 요청에 따라, 나는

필요 getHTMLSuccess.php의 내용을 원하지 않는 :

그래서, 나는 actions.class.php이 그와 같은 기능을 가지고 다른 페이지의 HTML 코드를 얻습니다 (처리하지 않고 .. 필터링하는 등 ...). 사실 JSON 변수 내에서 페이지 내용이 JSONP로 출력됩니다. 예 : ?

예를 들어, 내가/getHTML 이름을 부르는 = ABC

및 abc.html (또는 abc.php) 내용이 있습니다

<div>Hello, my beautiful world</div> 

가 나는 안녕하세요의 페이지 콘텐츠를됩니다, 나의 아름다운 세상

과 같은 출력을 : mycallback ({내용 : '안녕, 나의 아름다운 세상'});

나는 file_get_content (...)를 할 수있는 알고 있지만, 심포니가 이미 캐시하고 알아야하는 동안 파일을 할 매우 무거운 명시 적으로 읽어처럼 들린다.

포함 /이 작동하지 않습니다 필요 ... 그래서, 그것을 할 수있는 경량 방법이?

답변

2

당신이 심포니 1.4.14에서 나를 위해

2

그냥 .. 작업 화면 오히려 그것을하고 출력하기보다 요청 된 모듈/액션의 출력을 반환합니다 getPresentationFor 방법 (http://www.symfony-project.org/api/1_4/sfController#method_getpresentationfor)

public function executeGetHTML($request) { 
    $pageName = $request->getParameter('name', ''); 

    $html = $this->getPresentationFor('module', 'action'); 
} 

을 시도 할 수 나는 getController()를 사용할 때까지 작업에 매개 변수를 전달하는 것이

$html = $this->getController()->getPresentationFor('module', 'action'); 

과 :

$this->getRequest()->setParameter('parameter_name', value); 

매개 변수를 전달하는 또 다른 방법 :

$html = $this->getController()->getPresentationFor('module', 'action?id=123'); 
관련 문제