gpt4 book ai didi

paging - Tridion分页-获取结果总数

转载 作者:行者123 更新时间:2023-12-04 03:30:03 25 4
gpt4 key购买 nike

我们正在编写一些代码来控制对Tridion Broker数据库查询(使用API​​)返回的结果进行分页。

我们正在使用SDL Tridion 2011 SP1,并且可以使用PagingFilter来获取所选页面上组件的tcmId。

但是,在写出分页控件时,我们需要知道结果的总数(以确定将有多少页)。除了仅对“所有”结果运行单独的查询并对返回的字符串数组执行.Length之外,还有其他更有效的机制吗?
(显然,您只运行一次此查询,并在用户单击页面之间时保留该值。)

如果我们得到所有结果,那么当我们只处理“all”查询中返回的信息时,为什么还要使用PagingFilter?

提前谢谢了,
乔纳森

注意:返回的任何一种类型最多可能有2000个结果。

最佳答案

我为您提供3个可能的答案,尽管没有一个是正确的选择或您想要的一个。

  • 无法使用CD API读取COUNT个返回的项目。您可以编写扩展名。可以是CD存储扩展,也可以是直接的数据库查询等。
  • 您将读取集合中所包含物品的确切数量。如果您要使用组件查询,以检索这些组件的DCP,这将特别棘手。可能是给定组件没有DCP,因此您需要先阅读所有DCP,才能知道要分页的确切项目数。显然,这将破坏分页的全部目的。您可以通过运行一次查询来缓解此性能下降,然后将其缓存一会儿,但是根据您查询的内容,可能是每个网站访问者查询的条件都不相同,因此对性能的影响很高。
  • 您实际上并不关心分页中的项目总数。因此,例如,与其显示“23页中的第1页”,“23页中的第2页”等,不如直接显示第1页,第2页及其旁边的“上一步”和“上一步”按钮。

  • 希望这可以帮助!

    关于paging - Tridion分页-获取结果总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9838363/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com