【问题标题】:Zend_Form & PaginationZend_Form & Pagination
【发布时间】:2011-07-31 00:22:45
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: zend-framework zend-form zend-paginator zend-form-sub-form


    【解决方案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 访问它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 2015-09-26
      相关资源
      最近更新 更多