-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSeoLinkPager.php
33 lines (26 loc) · 1.02 KB
/
SeoLinkPager.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
/*
La finalidad de este pager es poder poner rel="prev | next" en los enalces de paginación, a raiz de:
http://googlewebmaster-es.blogspot.com.es/2012/04/video-sobre-paginacion-con-relnext-y.html
*/
class SeoLinkPager extends CLinkPager{
public $headPrevNext = true;
protected function createPageButton($label,$page,$class,$hidden,$selected){
if($hidden || $selected)
$class.=' '.($hidden ? self::CSS_HIDDEN_PAGE : self::CSS_SELECTED_PAGE);
$linkAttrs = array();
$pageUrl = $this->createPageUrl($page);
if ($page == ($this->currentPage -1)){
$linkAttrs['rel'] = 'prev';
if ($this->headPrevNext)
Yii::app()->clientScript->registerLinkTag('prev', null, Yii::app()->request->getHostInfo().$pageUrl);
}
elseif ($page == ($this->currentPage +1)){
$linkAttrs['rel'] = 'next';
if ($this->headPrevNext)
Yii::app()->clientScript->registerLinkTag('next', null, Yii::app()->request->getHostInfo().$pageUrl);
}
return '<li class="'.$class.'">'.CHtml::link($label,$pageUrl, $linkAttrs).'</li>';
}
}
?>