문제

ajax (JSON 데이터를 보내기)로 호출되는 컨트롤러가 있으므로보기를 사용하지 않습니다.

나는 사람을 사용해야합니다 도우미를보십시오 내 데이터를 포맷하려면 내 컨트롤러에서.

그게 가능합니까?

아니면 아마도 잘못하고 있습니다 (어쩌면 나는 볼거리가 있어야하지만 JSON은 어떻게해야합니까?)?

도움이 되었습니까?

해결책

컨트롤러에서 뷰 헬퍼에 액세스 할 수 있습니다

$this->view->helpername(/*params*/);
// or
$helper = $this->view->getHelper('helpername');
// or
$broker = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$broker->getView()->helpername(/*params*/);

보다 Zend : 컨트롤러의 뷰 도우미에서 사용자 정의 기능을 사용하는 방법은 무엇입니까?

그러나 당신이 잘못하고 있다는 것이 옳을 수도 있습니다 (재미있는 그림 btw), 그러나 나는 당신의 질문에서 실제로 말할 수 없습니다. View 도우미를 호출 해야하는 이유와 포맷해야 할 사항에 대해서는 정제하십시오.

다른 팁

Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view');

반환 된보기가 원하는보기인지 확인하십시오. 라인 아래로 뷰가 덮어 쓰기가 커지고 컨트롤러에서 새로운보기가 있습니다.

그리고 컨트롤러가 시작되기 전에 액션 도우미 등에 대한보기에 설정 한 모든 값은? 모두 바람과 함께 사라졌습니다!

따라서 View Resource를 얻는다고 가정하기 전에 테스트하십시오. 그것은 당신이 기대하는 것과 동일한보기 자원이며, 모든 VAR이 여전히 존재합니다.

당신은 내가 그랬던 것처럼 놀랄 것입니다!

헬퍼의 인스턴스를 만들 수 있습니다. 이것은 컨트롤러, 모델 및 도우미가 필요한 곳마다 작동합니다.

예를 들어.

// create Instance   
$serverUrl_helper = new Zend_View_Helper_ServerUrl();

// get the ServerUrl
$serverUrl = $serverUrl_helper->serverUrl();

또 다른 접근법은 사용하는 것입니다 컨텍스트 스위치 또는 ajaxcontext action-helpers. 이를 통해 뷰 스크립트를 사용하여 표준 방식으로 뷰 헬퍼를 호출 할 수 있습니다.

액션 도우미를 사용하십시오. 많은 뷰 도우미도 액션 도우미로도 사용할 수 있습니다.

또는 직접 사용하여 Zend_Date 또는 sprintf.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top