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

问题描述 投票:1回答:1

使用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”链接中添加活动?

cakephp bootstrap-4 cakephp-3.x
1个回答
0
投票

您可以使用以下方法检索当前的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>',
]);
© www.soinside.com 2019 - 2024. All rights reserved.