在Sitecore内容页面中实现分页

时间:2011-03-08 15:39:41

标签: c# asp.net xml xslt sitecore

我的网站上有一个部分,我计划在其中添加大量基于文本的内容,而不是一次性显示这一部分,如果我可以在这些页面上添加分页,那就太好了。如果可能的话,我想将所有内容放在一个内容项中,并自动进行分页工作,建立一个http://example.org/articles/title?page=2或类似的网址。

我偶然发现了一篇提到使用Sitecore项目进行分页的文章,这似乎与我要求的内容相当接近,尽管我需要对单个内容项进行分页,而不是多个项目。有人可以帮我调整this article以满足我的需求(如果它在我应该看的地方的正确轨道上)吗?

是否可以使用Sitecore内容项执行此操作?

http://briancaos.wordpress.com/2010/09/10/create-a-google-style-paging-component-in-c/

3 个答案:

答案 0 :(得分:1)

我认为您要么创建自己的WebControl并定义一个自定义Render()方法,该方法会读取查询字符串以写出正确的信息,或者您甚至可以在Sublayout(用户控件ASCX文件)。之前我已经通过Sitecore在Rich文本编辑器中添加了自定义标记(我认为我使用了<hr class="page-break" />),然后在我的ASCX中我会查找该HTML标记并将内容拆分为多块。我认为我的解决方案也使用了jQuery,但你也可以用C#来做。

修改

您希望将任务拆分并拥有“分页”内容以及页面列表(如您引用的文章),以便轻松生成页面按钮。这两个都可以在两个独立的中继器中完成。

答案 1 :(得分:1)

您可以使用此处描述的方法将文本从单个字段拆分为不同的页面:Split html string to page。之后你需要做的就是 - 阅读查询字符串并显示相应的块。

答案 2 :(得分:0)

如果我理解正确,您在Sitecore中有一个具有x个文本字段的项目,并且您只需要根据查询字符串中的输入显示这些项目的子集?

在最简单的形式中,你需要一个处理它的子布局。

基本上我会想象你有字段叫做Text1,Text2,text3等。

然后,此.ascx可以使用控件检索您想要的字段的数据并添加它们。

然后,您可以使用文章中的代码生成分页链接。

这应该很简单,但我想说在sitecore中有一个项目并使用它的子项作为您想要查看和分页的数据会更好。

它更好,因为如果你开始使用5个“页面”字段并且突然想要10,那么你的项目将继续增长,可以添加子项而不会膨胀父页面。此外,用户可以命令孩子们认为他们认为合适。

我希望这有点帮助。