类 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|nullStringTemplate 实例。
-
$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' 键的模板数组。
返回值
stringaddClass() ¶ 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 可选 要设置的值。
返回值
$thiscounter() ¶ 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 要插入的数据。
返回值
stringgenerateUrl() ¶ 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。
返回值
arraygetConfig() ¶ 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 可选 键不存在时的返回值。
返回值
mixedgetConfigOrFail() ¶ public
getConfigOrFail(string $key): mixed
返回此特定键的配置。
此键的配置值必须存在,不能为 null。
参数
-
string$key 要获取的键。
返回值
mixed抛出
InvalidArgumentExceptiongetTemplates() ¶ public
getTemplates(string|null $template = null): array|string
获取要使用的模板或特定模板。
参数
-
string|null$template optional 用于读取特定模板的字符串,null 表示所有模板。
返回值
array|stringhasNext() ¶ 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 提供给此辅助函数的配置设置。
返回值
voidlast() ¶ 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 或事件。
返回值
stringmeta() ¶ 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|nullnext() ¶ 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。
返回值
voidpaginated() ¶ protected
paginated(): Cake\Datasource\Paging\PaginatedInterface
获取分页实例。
返回值
Cake\Datasource\Paging\PaginatedInterfaceprev() ¶ 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 可选 选项数组。
返回值
voidsetTemplates() ¶ public
setTemplates(array<string, string> $templates): $this
设置要使用的模板。
参数
-
array<string, string>$templates 要添加的模板。
返回值
$thissort() ¶ 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>