5

수많은 SubForms가있는 Zend_Form을 구성하고 있습니다. 사실, 하위 폼이 너무 많아서 여러 페이지에 표시하고 싶습니다. Zend_Paginator를 사용하여 동적 페이지 수의 다중 페이지 양식을 만들 수 있습니까?Zend_Form & Pagination

다음은 좀 더 구체적인 예입니다. 하나의 갤러리에서 수많은 사진으로 메타 데이터를 편집 할 수있는 페이지를 만듭니다. 따라서 편집자가 데이터베이스에있는 모든 이미지를 가져옵니다. 페이지는 마스터 양식이며 각 이미지는 하위 양식에 배치됩니다. 내가 한 페이지 만 원한다면이 방법이 효과적입니다. 나는 그 일을 잘 해냈다.

이제 200 개의 이미지가 있다고 가정 해 보겠습니다. 분명히 모든 이미지를 한꺼번에로드하는 것을 원하지 않으므로 사용자가 한 번에 20 개의 이미지를 말할 수있는 기능을 좋아합니다. 페이지가 한 번에 처리되는지 또는 값이 실제 다중 페이지 양식과 같이 끝날 때까지 저장되었는지를 한 번에 모두 처리할지 여부는 신경 쓰지 않습니다.

이미지 데이터를 페이지 매기기로 전달한 다음 부분 루프 내에서 하위 폼을 동적으로 추가하려고했습니다. 이는 뷰의 부분 루프 내부에서 서브 폼 ($ this-> form-> addSubform())을 추가하기 위해 액세스해야하는 마스터 폼을 볼 수 없기 때문에 문제가됩니다.

다음 아이디어는 수동으로 DB 쿼리에 제한을 사용하여 페이지 매김을 만들고 데이터를 그 방식대로 페이지하도록합니다. 이상적은 아니지만 작동한다고 생각합니다.

원활한 통합에 대한 아이디어가 있습니까? 도와 주셔서 감사합니다!

답변

1

나는 Zend_Paginator이 좋은 해결책이라고 생각합니다. Zend_Db_Select 또는 Zend_Db_Table_Select 어댑터를 사용하면 현재 페이지를 표시하는 데 필요한 가장 작은 양의 데이터 만 검색 할 수 있습니다.

그러나 멀티 페이지 양식은 아직 zend 프레임 워크에서 지원되지 않습니다. 하지만 해결 방법이있을 것 같다 http://framework.zend.com/manual/en/zend.form.advanced.html#zend.form.advanced.multiPage

현재, 여러 페이지 양식이 아닌 공식적으로 Zend_Form에서 지원; 그러나 을 구현하기위한 대부분의 지원이 가능하며 약간의 추가 툴링을 통해 을 사용할 수 있습니다.

자바 스크립트와 jQuery를 사용하여 이미지 정보 편집을 처리 할 수 ​​있습니다. html로 바로 폼을 정의하고 jQuery로 액세스하십시오.