cakephp 3如何向paginator排序类添加active?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cakephp 3如何向paginator排序类添加active?相关的知识,希望对你有一定的参考价值。

使用Bootstrap的最后一个版本,在链接类上设置.active属性。我们怎样才能将这个属性添加到Paginator-> sort?

一个例子 :

$this->Paginator->templates([
    'sort' => '<a class="nav-link" href="{{url}}">{{text}}</a>',
]);

<ul class="nav">
  <li role="presentation" class="nav-item">
      <?= $this->Paginator->sort('Results.points','Per points') ?>
  </li>

  <li role="presentation" class="nav-item">
      <?= $this->Paginator->sort('Results.size','Per size') ?>
  </li>
</ul>

我们怎样才能在“Per points”或“Per size”链接中添加活动?

答案

您可以使用以下方法检索当前的Sort param值。

<?php $active = $this->Paginator->param('sort'); ?>

有了它,您可以随时为您的项目添加和添加课程。

  <li role="presentation" class="nav-item <?= $active === 'Results.points' ? 'active' : ''; ?>
      <?= $this->Paginator->sort('Results.points','Per points') ?>
  </li>

另一个可能的选择可能是覆盖sortAscsortDesc模板并用活动包装它们并用你的基础<li>模板包装标准排序模板

$this->Paginator->templates([
    'sort' => '<li role="presentation" class="nav-item"><a class="nav-link" href="{{url}}">{{text}}</a></li>',
    'sortAsc' => '<li role="presentation active" class="nav-item"><a class="nav-link" href="{{url}}">{{text}}</a></li>',
]);

编辑:此示例用于将我的更改应用于A标记。

$this->Paginator->templates([
    'sort' => '<li role="presentation" class="nav-item"><a class="nav-link" href="{{url}}">{{text}}</a></li>',
    'sortAsc' => '<li role="presentation" class="nav-item"><a class="nav-link active" href="{{url}}">{{text}}</a></li>',
]);

以上是关于cakephp 3如何向paginator排序类添加active?的主要内容,如果未能解决你的问题,请参考以下文章

cakephp 3.3:模型在url中时的分页和排序错误

带有连接表字段排序的 Cakephp 分页不起作用

php [cakephp:Paginator示例] CakePHP上PaginatorComponent的示例代码。 #cakephp

PHP 使Cakephp paginator记住传递的参数

使用 cakePHP 对单个字段进行 SQL Sum 不适用于 paginate()

PHP Redeclare Paginate var in function | CakePHP的