Zend_Form&Pagination

Dre*_*ton 5 zend-framework zend-form zend-paginator zend-form-sub-form

我正在整理一个有许多子表格的Zend_Form.事实上,它有可能有这么多的子表单,我希望它们出现在多个页面上.是否可以使用Zend_Paginator创建一些动态页数的多页形式?

这是一个更具体的例子.我正在创建一个页面,有人可以在单个图库中编辑众多照片的元数据.因此,他们点击编辑并从数据库中提取所有图像.页面是主表单,每个图像都放在子表单中.如果我只想要一个页面并且它们都显示出来,那么效果很好.我的工作做得很好.

现在,说有200张图片.显然,您不希望一次加载所有200张图像,因此我希望用户能够一次翻阅20张图像.我真的不在乎是否一次处理一个页面,或者是否存储了值,直到那时像真正的多页表单一样结束然后一次处理.

我已经尝试将图像数据传递给分页器,然后在部分循环中动态添加子表单.这是一个问题,因为在视图的部分循环内部,它无法看到我需要访问的主表单以添加子表单($ this-> form-> addSubform()).

下一个想法是使用数据库查询上的限制手动创建一个分页器,让它以这种方式遍历数据.不理想,但我认为它会起作用.

关于更顺畅的整合的任何想法?谢谢您的帮助!

Upv*_*ote 1

我认为Zend_Paginator对您来说是一个很好的解决方案。使用Zend_Db_SelectZend_Db_Table_Select适配器,您只能检索显示当前页面所需的最少量数据。

然而,zend 框架尚不支持多页表单。但似乎有一个解决方法:http://framework.zend.com/manual/en/zend.form.advanced.html#zend.form.advanced.multiPage

目前,Zend_Form 尚未正式支持多页表单;然而,大多数实现它们的支持都是可用的,并且可以通过一些额外的工具来使用。

您可以考虑仅使用 javascript 和 jQuery 来处理图像信息的编辑。只需直接在 html 中定义表单并使用 jQuery 访问它即可。