【问题标题】:Pagination for a variable content document可变内容文档的分页
【发布时间】:2009-07-31 01:10:47
【问题描述】:

该项目是使用 CakePHP 开发的。

该页面是新闻提要文章。

当您想要返回 (x) 每页的记录数,或 (x) 每页的图像数,甚至限制单词/段落/字符的数量时,分页很简单,但是如果您想按页面的视觉长度?

出现此问题是因为某些文章包含大量文本和大量图像。我想知道当内容完全是动态的时,您将如何开发分页。我的意思是,它可以是100%的文字,文字和3张图片,10张图片等。

感谢代码,但即使是一个概念也会有所帮助,谢谢!

【问题讨论】:

  • 所以?你是如何实现的?

标签: php cakephp pagination


【解决方案1】:

我不知道cakephp,但是,数字符数怎么样?

假设您在文章中有 10.000 个字符,并且您决定每个页面的字数不应超过 500 个。给定 5 个字符的平均单词长度,您转到字符 500*5=2500,查找下一个结束段落,并将该点作为下一页标记。 您可以对图像使用相同的概念,但要考虑图像的高度...

听起来不错?

【讨论】:

  • 您还可以考虑角色使用的平均面积,因为您可以找出图像使用的确切面积并知道每个页面应使用的“面积”数量。如果你从你想要的区域中减去图像区域,然后除以字符区域,你就会(大致)知道你想要多少个字符。
【解决方案2】:

因为我们知道页面的宽度和图像的高度,并且我们能够近似文本的像素高度。

然后我们获取图像、空格和文本的高度,并从允许的总高度中减去一定百分比的误差,这样它就不会仅仅因为最后 10px 超出限制。

如果图像或句子被推送到没有给出正确外观的下一页,我们还有一种方法可以将项目强制到上一页。

【讨论】:

    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 2015-11-14
    相关资源
    最近更新 更多