5

我正在整理一个包含许多子表单的 Zend_Form。事实上,它有可能拥有如此多的子表单,我希望它们出现在多个页面上。是否可以使用 Zend_Paginator 创建一些动态页数的多页表单?

这是一个更具体的例子。我正在创建一个页面,有人可以在其中编辑单个画廊中大量照片的元数据。因此,他们点击编辑,它会从数据库中提取所有图像。该页面是一个主表单,每个图像都放置在一个子表单中。如果我只想要一页并且它们都显示出来,这非常有用。我有那个工作得很好。

现在,假设有 200 张图像。显然,您不希望一次加载所有 200 张图像,所以我希望用户能够一次翻阅 20 张图像。我真的不在乎页面是否一次处理一个,或者是否将值存储到然后像真正的多页表单一样结束,然后一次处理。

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

下一个想法是使用限制数据库查询手动创建分页器,并让它以这种方式对数据进行分页。不理想,但我认为它会工作。

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

4

1 回答 1

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 访问它。

于 2011-04-06T17:15:11.087 回答