将节点拆分为多个页面


14

内容类型-文章。当文章本身太长时,我想将文章分成多个页面。例如,如果我们有一篇文章“ drupal的工作原理”,那将是巨大的:),我想将其拆分为几页,并在某个时候得到“继续第10页的第2页”,然后“继续第10页的第3页” “ 等等。希望你能和我分享一些想法。先感谢您!


相关:在字段之间创建一个寻呼机。可能一些答案对您有用。如果您要采用其中的一种,请在此处发布自我答案;)
Mołot13年

@Molot,您知道一种用Views覆盖节点默认视图的方法,然后可以使用Views的默认分页器。这对我来说是最干净的解决方案。
伊万·伊万诺夫

只需设置视图页面的路径/node/%并使用上下文过滤器(公平)从nid路径中获取正确的节点即可。如果有疑问,请提出新问题,如果有人发现它已经被问到了,请不要感到惊讶。
Mołot

Answers:


9

我建议使用jquery将您的文本拆分为某个部分,然后滚动滚动您将append(可能具有诸如fadeIn ....之类的效果)的另一部分附加到主要部分。
我建议您通过jquery(客户端解决方案)完成这项工作


这就是我在以前维护的页面之一上实现选项卡的方式。我必须承认-效果很好。最好是输出所有页面并隐藏除js中的first之外的所有页面。并#1在url中实施以确定用户链接到的页面。(抱歉,我的标签实现在此处直播,对不起,但我不再拥有使用的JS代码的版权)。AJAX也可能起作用,但另一方面,它通常是一个过大的选择,ASCII压缩良好,并且大多数时间用于启动连接,而不是实际传输,因此很浪费。
Mołot

使用ajax加载诸如获取内容(body)表单数据库之类的简单作业不是最佳作业,并且是服务器上的浪费负荷,此后,不需要成为maximom 50行代码的非常熟练的js开发人员,我们可以实现我建议的功能,顺便说一句,我认为客户端解决方案是这项工作的最佳解决方案。tnx可以为您发表评论并讨论@Mołot:)
Yusef

正确的实施example.com/article/23#page-1将占用50多行。并且值得拥有它,因此用户可以直接将永久链接指向他们想要的页面。
Mołot

我也很喜欢这种解决方案-对于那些厌倦了等待整个Drupal堆栈加载每个页面的人来说,它的可用性明显更高。它还允许Google将文章作为单个实体进行索引,而不是将结果带到文章中间的搜索结果。我建议检查屏幕阅读器等的可访问性,但这可能会使此解决方案更加复杂(尽管仍然是IMO的最佳解决方案)
Nerdmaster 2013年

好吧,已经用几行jquery在前端完成了。我使主体字段接受无限数量的值(模拟不同的页面)。然后只需切换btw display none / block。
伊万·伊万诺夫

9

您正在寻找智能分页模块

提供按字符/单词数或按占位符,用户和分类法术语实体的占位符HTML标签将长的Drupal内容拆分为多个子页面。

对于Drupal 6

分页模块,您可以设置字符数限制,它将自动拆分为多个子页面,请参见以下屏幕截图

通过单词(或字符)限制自动将长页面分成较小的页面

在此处输入图片说明


谢谢您的回答!我正在研究Drupal 7。D7有这样的解决方案吗?
Ivan Ivanov

好吧,尝试过的Smart Paging模块似乎可以完成这项工作,但是它与Views AJAX传呼机不兼容,在我的情况下,我正在使用这种方法。
Ivan Ivanov

0

好吧,我要使用的解决方法是将其拆分为多篇文章,并将它们与一个视图页面(具有一个分页器)结合起来,因为您已经可以使用所有视图了。只需过滤掉nid或某些(隐藏)标签上的文章即可。如果希望它们都具有相同的最大大小,则可以使用https://drupal.org/project/maxlength。在标题中添加X部分,这样读者也可以轻松区分不同的页面。


0

我看不到Views AJAX分页器(分页视图结果行)对您的文章显示有什么影响(这仅是1结果)。要分页的两件事。但是您可能希望将“文章内容作为计算字段”输出。从只显示文章内容字段的前x个单词的计算字段开始。(或直到第一个分页器为止)使用自生成的html“更多链接”结束它。该更多链接使用参数调用您的视图。您可以在计算字段的PHP中使用该参数。根据收到的参数显示第x个部分。


感谢您的回答!问题#1103810,启用“智能Pagging”模块时,它会分解“ Views Load More”(或“ Views Ajax Pager”)模块,因此您不能同时使用两者。那是我的意思。
Ivan Ivanov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.