类 PaginatorHelper
用于轻松生成分页链接的分页辅助函数类。
PaginatorHelper 包含了处理分页时所需的所有方法。
属性摘要
-
$Form public @property
Cake\View\Helper\FormHelper
-
$Html public @property
Cake\View\Helper\HtmlHelper
-
$Number public @property
Cake\View\Helper\NumberHelper
-
$Url public @property
Cake\View\Helper\UrlHelper
-
$_View protected
Cake\View\View
此辅助函数所附加的视图实例
-
$_config protected
array<string, mixed>
运行时配置
-
$_configInitialized protected
bool
配置属性是否已使用默认值进行配置
-
$_defaultConfig protected
array<string, mixed>
此类的默认配置
-
$_templater protected
Cake\View\StringTemplate|null
StringTemplate 实例。
-
$helperInstances protected
array<string,Cake\View\Helper>
加载的辅助函数实例。
-
$helpers protected
array
此辅助函数使用的辅助函数列表
-
$paginated protected
Cake\Datasource\Paging\PaginatedInterface
分页结果
方法摘要
-
__construct() public
构造函数。重写以将传递的参数与 URL 选项合并。
-
__debugInfo() public
返回一个数组,可用于描述此对象的内部状态。
-
__get() public
延迟加载辅助函数。
-
_configDelete() protected
删除单个配置键。
-
_configRead() protected
读取配置键。
-
_configWrite() protected
写入配置键。
-
_confirm() protected
返回一个字符串,用作确认对话框的 onclick 处理程序。
-
_firstNumber() protected
生成分页器 numbers() 方法的第一个数字。
-
_formatNumber() protected
为分页器数字输出格式化数字。
-
_getNumbersStartAndEnd() protected
计算分页数字的开始和结束。
-
_lastNumber() protected
生成分页器 numbers() 方法的最后一个数字。
-
_modulusNumbers() protected
为分页器 numbers() 方法生成数字。
-
_numbers() protected
为分页器 numbers() 方法生成数字。
-
_removeAlias() protected
如果需要,删除别名。
-
_toggledLink() protected
为 next/prev 方法生成活动/非活动链接。
-
addClass() public
将给定的类添加到元素选项中
-
configShallow() public
将提供的配置与现有配置合并。与
config()
(对嵌套键执行递归合并)不同,此方法执行简单合并。 -
counter() public
返回分页结果集的计数器字符串。
-
current() public
获取给定模型的记录集的当前页码
-
first() public
返回前几页的第一个或一组数字。
-
formatTemplate() public
使用 $data 格式化模板字符串
-
generateUrl() public
将传递的 URL 选项与当前分页状态合并以生成分页 URL。
-
generateUrlParams() public
将传递的 URL 选项与当前分页状态合并以生成分页 URL。
-
getConfig() public
返回配置。
-
getConfigOrFail() public
返回此特定键的配置。
-
getTemplates() public
获取要使用的模板或特定模板。
-
getView() public
获取此辅助函数绑定的视图实例。
-
hasNext() public
如果给定结果集不在最后一页,则返回 true
-
hasPage() public
如果给定结果集包含 $page 给出的页码,则返回 true
-
hasPrev() public
如果给定结果集不在第一页,则返回 true
-
implementedEvents() public
事件监听器。
-
initialize() public
构造函数钩子方法。
-
last() public
返回后几页的最后一个或一组数字。
-
limitControl() public
分页限制的下拉选择。这将生成一个包装表单。
-
meta() public
返回分页结果集的元链接。
-
next() public
为一组分页记录生成“下一页”链接
-
numbers() public
返回分页结果集的一组数字,使用模数来决定在当前页面的每一侧显示多少个数字(默认值:8)。
-
options() public
为所有分页链接设置默认选项
-
paginated() protected
获取分页实例。
-
param() public
方便地访问任何分页器参数。
-
params() public
从给定模型的结果集中获取当前分页参数
-
prev() public
为一组分页记录生成“上一页”链接
-
setConfig() public
设置配置。
-
setPaginated() public
设置分页结果。
-
setTemplates() public
设置要使用的模板。
-
sort() public
生成排序链接。设置排序和方向的命名参数。自动处理方向切换。
-
sortDir() protected
获取记录集当前排序的方向
-
templater() public
返回模板器实例。
-
total() public
获取给定模型的记录集中总页数。
方法详情
__construct() ¶ public
__construct(Cake\View\View $view, array<string, mixed> $config = [])
构造函数。重写以将传递的参数与 URL 选项合并。
参数
-
Cake\View\View
$view 此辅助函数所附加的视图。
-
array<string, mixed>
$config 可选 辅助函数的配置设置。
__debugInfo() ¶ public
__debugInfo(): array<string, mixed>
返回一个数组,可用于描述此对象的内部状态。
返回值
array<string, mixed>
__get() ¶ public
__get(string $name): Cake\View\Helper|null
延迟加载辅助函数。
参数
-
string
$name 正在访问的属性的名称。
返回值
Cake\View\Helper|null
_configDelete() ¶ protected
_configDelete(string $key): void
删除单个配置键。
参数
-
string
$key 要删除的键。
返回值
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置
_configRead() ¶ protected
_configRead(string|null $key): mixed
读取配置键。
参数
-
string|null
$key 要读取的键。
返回值
mixed
_configWrite() ¶ protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
写入配置键。
参数
-
array<string, mixed>|string
$key 要写入的键。
-
mixed
$value 要写入的值。
-
string|bool
$merge 可选 如果为 true,则递归合并;如果为 'shallow',则简单合并;如果为 false,则覆盖,默认为 false。
返回值
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置
_confirm() ¶ protected
_confirm(string $okCode, string $cancelCode): string
返回一个字符串,用作确认对话框的 onclick 处理程序。
参数
-
string
$okCode 用户选择“确定”后要执行的代码
-
string
$cancelCode 用户选择“取消”后要执行的代码
返回值
string
_firstNumber() ¶ protected
_firstNumber(string $ellipsis, array<string, mixed> $params, int $start, array<string, mixed> $options): string
生成分页器 numbers() 方法的第一个数字。
参数
-
string
$ellipsis 省略号字符。
-
array<string, mixed>
$params 来自 numbers() 方法的参数。
-
int
$start 起始编号。
-
array<string, mixed>
$options 来自 numbers() 方法的选项。
返回值
string
_formatNumber() ¶ protected
_formatNumber(Cake\View\StringTemplate $templater, array<string, mixed> $options): string
为分页器数字输出格式化数字。
参数
-
Cake\View\StringTemplate
$templater StringTemplate 实例。
-
array<string, mixed>
$options 来自 numbers() 方法的选项。
返回值
string
_getNumbersStartAndEnd() ¶ protected
_getNumbersStartAndEnd(array<string, mixed> $params, array<string, mixed> $options): array
计算分页数字的开始和结束。
参数
-
array<string, mixed>
$params 来自 numbers() 方法的参数。
-
array<string, mixed>
$options 来自 numbers() 方法的选项。
返回值
array
_lastNumber() ¶ protected
_lastNumber(string $ellipsis, array<string, mixed> $params, int $end, array<string, mixed> $options): string
生成分页器 numbers() 方法的最后一个数字。
参数
-
string
$ellipsis 省略号字符。
-
array<string, mixed>
$params 来自 numbers() 方法的参数。
-
int
$end 结束编号。
-
array<string, mixed>
$options 来自 numbers() 方法的选项。
返回值
string
_modulusNumbers() ¶ protected
_modulusNumbers(Cake\View\StringTemplate $templater, array<string, mixed> $params, array<string, mixed> $options): string
为分页器 numbers() 方法生成数字。
参数
-
Cake\View\StringTemplate
$templater StringTemplate 实例。
-
array<string, mixed>
$params 来自 numbers() 方法的参数。
-
array<string, mixed>
$options 来自 numbers() 方法的选项。
返回值
string
_numbers() ¶ protected
_numbers(Cake\View\StringTemplate $templater, array<string, mixed> $params, array<string, mixed> $options): string
为分页器 numbers() 方法生成数字。
参数
-
Cake\View\StringTemplate
$templater StringTemplate 实例。
-
array<string, mixed>
$params 来自 numbers() 方法的参数。
-
array<string, mixed>
$options 来自 numbers() 方法的选项。
返回值
string
_removeAlias() ¶ protected
_removeAlias(string $field, ?string $alias = null): string
如果需要,删除别名。
参数
-
string
$field 当前字段
-
?string
$alias 可选
返回值
string
_toggledLink() ¶ protected
_toggledLink(string|false $text, bool $enabled, array<string, mixed> $options, array<string, mixed> $templates): string
为 next/prev 方法生成活动/非活动链接。
参数
-
string|false
$text 链接的启用文本。
-
bool
$enabled 是否应创建启用/禁用版本。
-
array<string, mixed>
$options 来自调用方法的选项数组。
-
array<string, mixed>
$templates 包含 'active' 和 'disabled' 键的模板数组。
返回值
string
addClass() ¶ public
addClass(array<string, mixed> $options, string $class, string $key = 'class'): array<string, mixed>
将给定的类添加到元素选项中
参数
-
array<string, mixed>
$options 要添加类别的数组选项/属性
-
string
$class 要添加的类名。
-
string
$key 可选 要使用的类别的键。默认为
'class'
。
返回值
array<string, mixed>
configShallow() ¶ public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
将提供的配置与现有配置合并。与 config()
(对嵌套键执行递归合并)不同,此方法执行简单合并。
设置特定值
$this->configShallow('key', $value);
设置嵌套值
$this->configShallow('some.nested.key', $value);
同时更新多个配置设置
$this->configShallow(['one' => 'value', 'another' => 'value']);
参数
-
array<string, mixed>|string
$key 要设置的键,或完整的配置数组。
-
mixed|null
$value 可选 要设置的值。
返回值
$this
counter() ¶ public
counter(string $format = 'pages'): string
返回分页结果集的计数器字符串。
选项
参数
-
string
$format 可选 要使用的格式字符串,默认为 'pages',它会生成类似 '1 of 5' 的输出;设置为 'range' 会生成类似 '1 - 3 of 13' 的输出。还可以设置为自定义字符串,包含以下占位符
{{page}}
、{{pages}}
、{{current}}
、{{count}}
、{{model}}
、{{start}}
、{{end}}
以及任何您想要的自定义内容。
返回值
string
链接
current() ¶ public
current(): int
获取给定模型的记录集的当前页码
返回值
int
链接
first() ¶ public
first(string|int $first = '<< first', array<string, mixed> $options = []): string
返回前几页的第一个或一组数字。
echo $this->Paginator->first('< first');
为第一页创建一个单链接。如果您在第一页,将不会输出任何内容。
echo $this->Paginator->first(3);
将在您到达第三页或更高页后,为前三页创建链接。在此之前,将不会输出任何内容。
选项
escape
是否对文本进行 HTML 转义。url
要用于链接生成的附加 URL 选项数组。
参数
-
string|int
$first 可选 如果为字符串,则用作链接的标签。如果为数字,则表示您希望在范围开头处的页码链接的数量。
-
array<string, mixed>
$options 可选 选项数组。
返回值
string
链接
formatTemplate() ¶ public
formatTemplate(string $name, array<string, mixed> $data): string
使用 $data 格式化模板字符串
参数
-
string
$name 模板名称。
-
array<string, mixed>
$data 要插入的数据。
返回值
string
generateUrl() ¶ public
generateUrl(array<string, mixed> $options = [], array $url = [], array<string, mixed> $urlOptions = []): string
将传递的 URL 选项与当前分页状态合并以生成分页 URL。
URL 选项
escape
:如果为 false,则返回未转义的 URL。仅在之后手动转义后才在显示之前使用。fullBase
:如果为 true,则完整的基准 URL 将被添加到结果中
参数
-
array<string, mixed>
$options 可选 分页选项。
-
array
$url 可选 URL。
-
array<string, mixed>
$urlOptions 可选 选项数组
返回值
string
链接
generateUrlParams() ¶ public
generateUrlParams(array<string, mixed> $options = [], array $url = []): array
将传递的 URL 选项与当前分页状态合并以生成分页 URL。
参数
-
array<string, mixed>
$options 可选 分页/URL 选项数组
-
array
$url 可选 URL。
返回值
array
getConfig() ¶ public
getConfig(string|null $key = null, mixed $default = null): mixed
返回配置。
用法
读取整个配置
$this->getConfig();
读取特定值
$this->getConfig('key');
读取嵌套值
$this->getConfig('some.nested.key');
读取具有默认值的配置
$this->getConfig('some-key', 'default-value');
参数
-
string|null
$key 可选 要获取的键,或 null 表示整个配置。
-
mixed
$default 可选 键不存在时的返回值。
返回值
mixed
getConfigOrFail() ¶ public
getConfigOrFail(string $key): mixed
返回此特定键的配置。
此键的配置值必须存在,不能为 null。
参数
-
string
$key 要获取的键。
返回值
mixed
抛出
InvalidArgumentException
getTemplates() ¶ public
getTemplates(string|null $template = null): array|string
获取要使用的模板或特定模板。
参数
-
string|null
$template optional 用于读取特定模板的字符串,null 表示所有模板。
返回值
array|string
hasNext() ¶ public
hasNext(): bool
如果给定结果集不在最后一页,则返回 true
返回值
bool
链接
hasPage() ¶ public
hasPage(int $page = 1): bool
如果给定结果集包含 $page 给出的页码,则返回 true
参数
-
int
$page optional 页码,未设置则默认为 1。
返回值
bool
抛出
InvalidArgumentException
链接
hasPrev() ¶ public
hasPrev(): bool
如果给定结果集不在第一页,则返回 true
返回值
bool
链接
implementedEvents() ¶ public
implementedEvents(): array<string, mixed>
事件监听器。
通过定义回调方法之一,可以认为辅助函数对相关事件感兴趣。
如果您需要添加非传统事件监听器,或者您希望辅助函数监听非标准事件,请覆盖此方法。
返回值
array<string, mixed>
initialize() ¶ public
initialize(array<string, mixed> $config): void
构造函数钩子方法。
实现此方法以避免必须覆盖构造函数并调用父类。
参数
-
array<string, mixed>
$config 提供给此辅助函数的配置设置。
返回值
void
last() ¶ public
last(string|int $last = 'last >>', array<string, mixed> $options = []): string
返回后几页的最后一个或一组数字。
echo $this->Paginator->last('last >');
为最后一页创建一个单链接。如果已经在最后一页,则不会输出任何内容。
echo $this->Paginator->last(3);
将为最后 3 页创建链接。进入页面范围后,将不会创建任何输出。
选项
escape
是否对文本进行 HTML 转义。url
要用于链接生成的附加 URL 选项数组。
参数
-
string|int
$last optional 如果为字符串,则用作链接的标签,如果为数字,则打印页码。
-
array<string, mixed>
$options 可选 选项数组
返回值
string
链接
limitControl() ¶ public
limitControl(array<string, string> $limits = [], int|null $default = null, array<string, mixed> $options = []): string
分页限制的下拉选择。这将生成一个包装表单。
参数
-
array<string, string>
$limits optional 选项数组。
-
int|null
$default optional 分页限制的默认选项。默认为
$this->param('perPage')
。-
array<string, mixed>
$options 可选 Select 标签属性的选项,如 class、id 或事件。
返回值
string
meta() ¶ public
meta(array<string, mixed> $options = []): string|null
返回分页结果集的元链接。
echo $this->Paginator->meta();
直接回显链接,如果既没有上一页也没有下一页,则不会输出任何内容。
$this->Paginator->meta(['block' => true]);
将把 meta 函数的输出追加到命名块中,如果传递 true,则使用 "meta" 块。
选项
block
要追加输出的块名,或为 false/不存在,则作为字符串返回。prev
(默认为 True) 为上一页生成 meta 的值。next
(默认为 True) 为下一页生成 meta 的值。first
(默认为 False) 为第一页生成 meta 的值。last
(默认为 False) 为最后一页生成 meta 的值。
参数
-
array<string, mixed>
$options 可选 选项数组
返回值
string|null
next() ¶ public
next(string $title = 'Next >>', array<string, mixed> $options = []): string
为一组分页记录生成“下一页”链接
选项
disabledTitle
链接被禁用时使用的文本。默认为与活动链接相同的文本。设置为 false 将导致此方法返回 ''。escape
是否需要对内容进行 HTML 实体编码,默认为 true。url
要用于链接生成的附加 URL 选项数组。templates
模板数组,或包含您要用于生成下一页链接的模板的模板文件名。在 next() 完成后,将恢复助手函数的原始模板。
参数
-
string
$title optional 链接的标题。默认为 'Next >>'。
-
array<string, mixed>
$options 可选 分页链接的选项。有关键列表,请参见上文。
返回值
string
链接
numbers() ¶ public
numbers(array<string, mixed> $options = []): string
返回分页结果集的一组数字,使用模数来决定在当前页面的每一侧显示多少个数字(默认值:8)。
$this->Paginator->numbers(['first' => 2, 'last' => 2]);
使用 first 和 last 选项,可以创建指向页面集开头和结尾的链接。
选项
before
要插入到数字之前,但在第一个链接之后的内容。after
要插入到数字之后,但在最后一个链接之前的内容。modulus
在当前页面的两侧包含多少个数字,默认为 8。设置为false
以禁用并显示所有数字。first
是否要生成第一个链接,设置为整数以定义要生成的“first”链接的数量。如果设置了字符串,将使用该值作为标题生成指向第一页的链接。last
是否要生成最后一个链接,设置为整数以定义要生成的“last”链接的数量。如果设置了字符串,将使用该值作为标题生成指向最后一页的链接。templates
模板数组,或包含您要用于生成数字的模板的模板文件名。在 numbers() 完成后,将恢复助手函数的原始模板。url
要用于链接生成的附加 URL 选项数组。
当 first
和 last
选项和页面数量超过模数时,生成的数字链接将包含“ellipsis”模板。例如,如果您有 25 页,并且使用 first/last 选项和 8 的模数,则省略号内容将插入到第一个和最后一个链接集之后。
参数
-
array<string, mixed>
$options 可选 数字的选项。
返回值
string
链接
options() ¶ public
options(array<string, mixed> $options = []): void
为所有分页链接设置默认选项
参数
-
array<string, mixed>
$options 可选 分页链接的默认选项。有关键列表,请参见 PaginatorHelper::$options。
返回值
void
paginated() ¶ protected
paginated(): Cake\Datasource\Paging\PaginatedInterface
获取分页实例。
返回值
Cake\Datasource\Paging\PaginatedInterface
prev() ¶ public
prev(string $title = '<< Previous', array<string, mixed> $options = []): string
为一组分页记录生成“上一页”链接
选项
disabledTitle
链接被禁用时使用的文本。默认为与活动链接相同的文本。设置为 false 将导致此方法返回 ''。escape
是否需要对内容进行 HTML 实体编码,默认为 true。url
要用于链接生成的附加 URL 选项数组。templates
模板数组,或包含您要用于生成上一页链接的模板的模板文件名。在 prev() 完成后,将恢复助手函数的原始模板。
参数
-
string
$title optional 链接的标题。默认为 '<< Previous'。
-
array<string, mixed>
$options 可选 分页链接的选项。有关键列表,请参见上文。
返回值
string
链接
setConfig() ¶ public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
设置配置。
用法
设置特定值
$this->setConfig('key', $value);
设置嵌套值
$this->setConfig('some.nested.key', $value);
同时更新多个配置设置
$this->setConfig(['one' => 'value', 'another' => 'value']);
参数
-
array<string, mixed>|string
$key 要设置的键,或完整的配置数组。
-
mixed|null
$value 可选 要设置的值。
-
bool
$merge optional 是否递归合并或覆盖现有配置,默认为 true。
返回值
$this
抛出
Cake\Core\Exception\CakeException
尝试设置无效键时。
setPaginated() ¶ public
setPaginated(Cake\Datasource\Paging\PaginatedInterface $paginated, array<string, mixed> $options = []): void
设置分页结果。
参数
-
Cake\Datasource\Paging\PaginatedInterface
$paginated 要使用的实例。
-
array<string, mixed>
$options 可选 选项数组。
返回值
void
setTemplates() ¶ public
setTemplates(array<string, string> $templates): $this
设置要使用的模板。
参数
-
array<string, string>
$templates 要添加的模板。
返回值
$this
sort() ¶ public
sort(string $key, array<string, mixed>|string|null $title = null, array<string, mixed> $options = []): string
生成排序链接。设置排序和方向的命名参数。自动处理方向切换。
选项
escape
是否需要对内容进行 HTML 实体编码,默认为 true。direction
此链接未激活时使用的默认方向。lock
锁定方向。届时将只使用默认方向,默认为 false。
参数
-
string
$key 记录集应排序的键的名称。
-
array<string, mixed>|string|null
$title optional 链接的标题。如果 $title 为 null,则使用 $key 作为标题,并通过词形转换生成。它也可以是包含键
asc
和desc
的数组,用于根据方向指定单独的标题。-
array<string, mixed>
$options 可选 排序链接的选项。有关键列表,请参见上文。
返回值
string
链接
属性详细信息
$_defaultConfig ¶ protected
此类的默认配置
选项:保存分页链接的默认选项
可以指定的选项值包括
url
操作的 URL。查看 Router::url()url['?']['sort']
记录集排序的键。url['?']['direction']
排序方向(默认:'asc')。url['?']['page']
链接中使用的页码。escape
定义链接的标题字段是否应转义(默认:true)。routePlaceholders
一个数组,指定哪些分页参数应作为路由占位符而不是查询字符串参数传递。该数组可以包含值'sort'
,'direction'
,'page'
。
模板:此类使用的模板
类型
array<string, mixed>