cakephp 3如何将活动添加到paginator排序类?

时间:2018-02-20 15:51:13

标签: cakephp bootstrap-4 cakephp-3.x

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

一个例子:

$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>

我们如何将活动添加到&#34; 每个点&#34;或&#34; 每个尺寸&#34;链路?

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容检索当前的排序参数值。

<?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标记。<​​/ p>

$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>',
]);