我正在使用Paginator组件和助手。
我的样式代码块如下所示。
<!-- Pagination -->
<div class="pagination">
<ul class="pages">
<li class="prev"><a href="#"><</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="#">></a></li>
</ul>
</div>
当我尝试使用以下
创建分页时<!-- Pagination -->
<div class="pagination">
<ul class="pages">
<?php if($this->Paginator->hasPrev()) echo $this->Paginator->prev('<', 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('>', array('tag' => 'li', 'escape' => false)); ?>
</ul>
</div>
Active类被赋予li tag
,但我的模板使用活跃类来a-href tag
有什么方法可以让蛋糕送到a tag
?
答案 0 :(得分:1)
您必须为此扩展并覆盖PaginatorHelper::number()方法。
然后使用您的自定义分页器帮助应用程序,使用别名功能使其在您的视图中以$ this-&gt; 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