在silverstripe PaginatedList中,我们可以显示网页编号,例如'显示5页中的1页。 例如,如何在每个页面上显示记录编号 "显示1-10记录100"
答案 0 :(得分:1)
您已有 //Case 1:
String str1 = "name";
String str2 = "name";
if (str1 == str2)
Console.WriteLine("True"); //Output True
if (object.ReferenceEquals(str1, str2))
Console.WriteLine("True"); //Output : True
//Case 2:
string hello = "hello";
string helloWorld = "hello world";
string helloWorld2 = hello + " world";
if (helloWorld == helloWorld2)
Console.WriteLine("True"); //Output : True
if (object.ReferenceEquals(helloWorld, helloWorld2))
Console.WriteLine("True");
else
Console.WriteLine("False"); //Output : False
//Case 3
helloWorld2 = "hello world";
if (helloWorld == helloWorld2)
Console.WriteLine("True"); //Output : True
if (object.ReferenceEquals(helloWorld, helloWorld2))
Console.WriteLine("True"); //Output : True
。使用getTotalItems(),您可以获得项目总数。
当你在列表的范围内时,在你的模板中它是PaginatedList
。
修改强> $PageStart为您提供当前页面的开头$PageLength当前页面上的项目数量,以便您可以计算当前项目的结束编号。
您可以使用$TotalItems
PaginatedList
来执行此操作,例如
class PaginatedListEndNumberExtension extends Extension {
public function getPageEnd() {
return $this->owner->getPageStart() + $this->owner->getPageLength()
}
}
并在 /mysite/_config/config.yml
中PaginatedList:
extensions:
- PaginatedListEndNumberExtension
因此,在包含$PageEnd
的模板中,您将获得当前页面的结束编号。
代码未经测试但应该让您入门。您必须检查结束编号是否大于总项目数,但我会将此练习留给您;)
答案 1 :(得分:1)
如果最近有人遇到过-这是默认功能,至少从Silverstripe 3起。不需要任何扩展。 API文件:https://docs.silverstripe.org/en/4/developer_guides/templates/how_tos/pagination/
您需要两个变量:
$FirstItem
$LastItem
例如
Showing $Results.FirstItem - $Results.LastItem of $Results.TotalItems