加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Cakephp Paginator自定义样式

发布时间:2020-12-13 22:51:24 所属栏目:PHP教程 来源:网络整理
导读:我正在使用Paginator组件和助手. 我的样式代码块如下. !-- Pagination -- div class="pagination" ul class="pages" li class="prev"a href="#"lt;/a/li lia href="#" class="active"1/a/li lia href="#"2/a/li lia href="#"3/a/li li class="next"a href="#
我正在使用Paginator组件和助手.

我的样式代码块如下.

<!-- Pagination -->
    <div class="pagination">
        <ul class="pages">
            <li class="prev"><a href="#">&lt;</a></li>
            <li><a href="#" class="active">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li class="next"><a href="#">&gt;</a></li>
        </ul>
    </div>

当我尝试使用以下内容创建分页时

<!-- Pagination -->
<div class="pagination">
    <ul class="pages">
        <?php if($this->Paginator->hasPrev()) echo $this->Paginator->prev('&lt;',array('tag' => 'li','escape' => false)); ?>
        <?php echo $this->Paginator->numbers(array('separator' => false,'tag' => 'li','currentClass' => 'active')); ?>
        <?php if($this->Paginator->hasNext()) echo $this->Paginator->next('&gt;','escape' => false)); ?>
    </ul>
</div>

Active类被赋予li标签,但我的模板使用活动类到a-href标签

有什么方法可以让蛋糕给它一个标签吗?

解决方法

您必须为此扩展和覆盖 PaginatorHelper::number()方法.

然后使用别名功能将您的自定义分页器帮助应用程序广泛用于视图中的$this-> Paginator以在所有视图中替换它.

public $helpers = array(
    'Paginator' => array(
        'className' => 'MyPaginator',)
);

您也可以这样做,而不是覆盖整个方法:

public function numbers($options = array()) {
    $numbers = parent::numbers($options);
    /* see explanation below */
    return $numbers;
}

说明:使用DOM或正则表达式查找,修改和替换< li class =“active”>< a>< / a>< / li>有效< li>你的修改元素.这可能是更好的方法,因为如果核心行为发生变化,您只需要熟悉替换逻辑,而不必弄清楚代码中的更改并更新您的方法. This bootstrap paginator helper does it this way.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读