Zend Framework를 사용하여 응용 프로그램을 만들었습니다. 나는 Dojo 대신 JQuery를 사용하기로 결정했다. 저는 AjaxLinks와 dialogContainers와 같은 것들을 위해 ZendX 도우미를 사용합니다. 가능한 한 AJAX를 구동하도록 GUI를 만들고 싶습니다. 그러나 나는 최선의 접근이라고 생각하는 것을 결정하는 데 어려움을 겪습니다. 대부분의 경우 전체 페이지를 다시로드하는 대신 dialogContainer에 "페이지"를로드해야합니다. 그래서 예를 들어 사용자 데이터 나 비슷한 것을 변경하기위한 폼을 담고있는 대화 상자를 얻을 수 있습니다.Zend Framework를 사용하여 AJAX 기반 GUI를 만드는 방법
처음에는 전체 페이지를 반환했지만 AJAX 요청을 사용하여 요청한 경우 다른 레이아웃 템플릿을 사용하여 모든 unenecerry javascript inclusions 등을 피할 수있었습니다. 이렇게하면 기본적으로 다음과 같이 탐색 할 수있는 페이지의 한 버전을 빌드 할 수있었습니다. 정상 및 AJAX를 통해. 그러나 나는 내가 이것을 좋아한다는 자신을 확신하지 못했다. Zend Server GUI를 살펴보면 json으로 인코딩 된 데이터를 반환하지 않고 페이지를 만들지 않는 것으로 보입니다.
가장 좋은 방법은 무엇이며 어떻게 검색된 페이지와 관련된 javascript를 처리해야합니까? 이제 해당 페이지의 phtml 파일에 모든 페이지의 특정 JavaScript가 있습니다.
내가 걱정하는 또 다른 사항은 많은 대화 상자 컨테이너를 열고 아약스를 통해 채울 때 생성 된 리소스를 추적하는 방법입니다. 대화 상자 하나를 열고 항목 목록을 얻습니다. 특정 아이템에 대한 또 다른 모달 대화 상자 컨테이너 팝업을 클릭하면 ajax를 통해 채워집니다. 그러나 메인 페이지가 다시로드되지 않으면 나는 이것이 처리하기 어려워지는 것을 볼 수 있습니다.
나는 아약스 주도의 UI를 원한다는 느낌이 들지 않으므로 모서리에 자신을 칠하기 전에 올바른 방향으로 나를 가리켜주세요. ;)
업데이트 : 기본적으로 Zend의 설명서뿐만 아니라 컨텍스트 제목에서 찾을 수있는 모든 종류의 자습서를 시도했습니다. 나는 문서화되지 않은 기능이나 무언가를 가능하게하기 위해 놓친 것 같아요. 이후 코드를 삭제했지만 작동하지 않았지만 예제를 찾으려고 노력하기 전에 벨로우즈 코드 같은 것을 시도했습니다.
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('list', 'html')
->addActionContext('modify', 'html')
->initContext();
그리고 내가 상관없이 모두 그냥 정상적인로 .phtml 파일을 항상 렌더링 결국 어떤 다른 ActionContexts 등 만 추가하려고 다음
$this->_helper->contextSwitch()
->setContext('html', array(
'suffix' => 'html',
'headers' => array('Content-Type' => 'text/html; Charset=UTF-8'),
)
)
->addActionContext('index', array('html','xml', 'json'))
->setAutoJsonSerialization(true)
->initContext();
같은 것을 시도했다.
inquam의 경우/format/xxx를 쿼리 끝에 추가해야합니다. 그렇지 않으면 컨텍스트 도우미가 활성화되지 않습니다. '정상적인'XHR이라 할지라도/format/html을 지정해야합니다. –