当前位置: 首页 > 知识库问答 >
问题:

CakePHP引导分页中的省略号在框外显示

从智志
2023-03-14

CakePHP3分页辅助程序未与列表一起正确呈现。我需要展示传呼机,比如:

|First|1|2|...|12|13|Last|

在第三页:

|First|1|2|3|...|12|13|Last|

第七页:

|First|1|2|...|6|7|8|...|12|13|Last|

默认情况下,我得到了正确的引导分页,如:

|First|1|2|3|4|5|6|7|8|9|10|11|12|13|Last|

根据该代码:

<?php
echo $this->Paginator->first(__('First'), array('tag' => 'li'), null, array('tag' => 'li','class' => 'disabled','disabledTag' => 'a'));
echo $this->Paginator->numbers(array('separator' => '','currentTag' => 'a', 'currentClass' => 'active','tag' => 'li','first' => 1));
echo $this->Paginator->last(__('Lastssss'), array('tag' => 'li','currentClass' => 'disabled'), null, array('tag' => 'li','class' => 'disabled','disabledTag' => 'a'));
?>

经过一点研究,我得到了一些额外的选项,比如设置'modular',更改'first''last'比如'first'=

echo $this->Paginator->numbers(array('modulus' => 8, 'first' => 2,'last' => 2, 'separator' => '','currentTag' => 'a', 'currentClass' => 'active','tag' => 'li'));

但这显示了省略号(…)外面像:

|1|2|3|4|5|6|7|8|9|12|13|Last|...

而且分页器没有正确显示页码。

我需要像上面显示的那样进行分页,或者像谷歌搜索那样进行分页。

请帮忙。我对CakePHP没有那么丰富的经验。谢谢你。


共有2个答案

柏高丽
2023-03-14
<?php echo $this->Paginator->numbers(array('separator'=>'','currentTag'=>'a', 'currentClass'=>'active','tag'=>'li','first'=>1,'ellipsis'=>'<li class="ellipsis"><span>...</span></li>')); ?>
张和豫
2023-03-14

尝试使用模板更改省略号的标记,因此它与bootstrap兼容

$this->Paginator->templates([
    'ellipsis' => '<li class="ellipsis"><span>...</span></li>',
    // Default looks like this
    //'ellipsis' => '<li class="ellipsis">...</li>',
]);

然后使用它生成分页链接

<ul class="pagination">
    <?= $this->Paginator->first(__('First'));?>
    <?= $this->Paginator->numbers([
        'modulus' => 2,
        'first' => 2,
        'last' => 2
    ]);?>
    <?= $this->Paginator->last(__('Last'));?>
</ul>

上面的代码动态更改了模板,但您也可以定义和加载自己的可重用模板:PaginatorHelper模板

 类似资料:
  • 问题内容: 标题有点古怪,但这是我早上4点能拿到的最好成绩。我有一个我正在分页的链接表,没什么花哨的。假设有100条链接,每页显示20条,共5页。如何在首页上为每个链接从1开始到20进行编号,如果我们跳到最后一页,则是81到100。我有多个查询会更改查询的方向和ORDER BY,因此必须动态地。使用CakePHP 1.2完成。例如reddit.com 问题答案: 在视图中尝试以下操作: 这将为您提

  • 问题内容: 我正在固定一个下拉框的宽度(是的,我知道这样做存在跨浏览器问题)。 有没有一种非js的方法来切断溢出的文本并附加省略号?text-overflow:省略号不适用于元素(至少在Chrome中)。 问题答案: HTML在表单控件中指定的内容非常有限。这就为操作系统和浏览器制造商留下了做他们认为合适的空间(例如,iPhone的模式,当打开时,它看起来与传统的弹出菜单完全不同)。 看起来大多数

  • 问题内容: 我正在查看一些代码,并看到了以下符号。我不确定这三个点的含义以及您所说的名称。 谢谢。 问题答案: 这意味着此方法可以接收多个Object作为参数。为了更好地低估,请从此处检查以下示例: 省略号(…)标识可变数量的参数,并在以下求和方法中进行了演示。 在JVM的限制内,使用所需的任意多个用逗号分隔的整数参数来调用sumsum方法。一些示例:sum(10,20)和sum(18,20,30

  • 问题内容: 自从Firefox Nightly(35.0a1)的最新(?)版本以来,我一直在使用的flexbox容器内部遇到问题,每个列的宽度为50%。 演示: 在“每晚”中,文本将泄漏到其容器外部,并且不会在末尾附加。在Chrome和Firefox稳定版中,它可以按预期工作。 问题答案: 最终可以追溯到Firefox Nightly中的最新更改。长话短说,选择器上的设置将使其按预期工作。 在这里

  • 我是Java和Spring Boot的初学者,我在Spring Boot上使用< code>Pagination,用这个代码我返回用户列表,如果我想返回页数,我必须这样做? 我知道使用我可以获取页数,但如何返回它?

  • 问题内容: 关于此的几个问题: 这是好习惯吗? 它将大规模地缩短加载时间吗? 会导致浏览器“崩溃”吗? JavaScript(/ jQuery)中的最后一个函数是否也是如此? 我的意思是这样的: 问题答案: 这是好习惯吗? 手动排除分号不是一个好习惯。这纯粹是因为添加更多样式时很容易忽略,尤其是在团队中工作时: 假设您从以下内容开始: 然后有人添加了一些样式: 突然,另一个开发人员在浪费时间弄清楚