新建一个
ajax分页的类:
复制内容到剪贴板
代码:
<?php
/**
@name ajaxpager.class.php
@desc allows ajax pagination.
$pager:pager object created using sfPropelPager
$url:URL of desired action.(mostly current ajax action)
$divId:id of div to be updated after pagination
$params:extra parameters to send with pager (but not implemented yet.you can implement it by yourself)
$appear_effect:visual effect on completing the request.(default is 'Appear').You can use also 'Grow' or 'SlideDown' etc.
@author Ahmet ERTEK, [email]erteka@gmail.com[/email]
@copyright DVS Bilisim, [url]www.dvs-tr.com[/url]
@version 1.0.0
*/
class ajaxpager
{
private $pager;
private $divId;
private $url;
private $params;
private $appear_effect;
/**
@name ajaxpager.class.php
@desc allows ajax pagination.
$pager:pager object created using sfPropelPager
$url:URL of desired action.(mostly current ajax action)
$divId:id of div to be updated after pagination
$params:extra parameters to send with pager (but not implemented yet.you can implement it by yourself)
$appear_effect:visual effect on completing the request.(default is 'Appear').You can use also 'Grow' or 'SlideDown' etc.
@author Ahmet ERTEK, [email]erteka@gmail.com[/email]
@copyright DVS Bilisim, [url]www.dvs-tr.com[/url]
@version 1.0.0
*/
public function ajaxpager($pager,$url,$divId,$params=null,$appear_effect='Appear')
{
$this->pager=$pager;
$this->divId=$divId;
$this->url=$url;
$this->params=$params;
$this->appear_effect=$appear_effect;
}
/**
@name ajaxpager.class.php
@desc prints pagination.
@author Ahmet ERTEK, [email]erteka@gmail.com[/email]
@copyright DVS Bilisim, [url]www.dvs-tr.com[/url]
@version 1.0.0
*/
public function printPager()
{
$pager=$this->pager;
$url=$this->url;
$divId=$this->divId;
$appear_effect=$this->appear_effect;
if ($pager->haveToPaginate())
{
echo link_to_remote('«', array(
'update' => $divId,
'url' => $url.'?page='.$pager->getFirstPage(),
'complete'=>visual_effect($appear_effect, $divId),
'loading'=>"$('$divId').innerHTML='<img src=/images/indicator.gif border=0>'",
), array('class'=>'contentLink'));
link_to_remote('<', array(
'update' => $divId,
'url' => $url.'?page='.$pager->getPreviousPage(),
'complete'=>visual_effect($appear_effect, $divId),
'loading'=>"$('$divId').innerHTML='<img src=/images/indicator.gif border=0>'",
), array('class'=>'contentLink'));
$links = $pager->getLinks();
foreach ($links as $page)
{
echo($page == $pager->getPage()) ? $page : link_to_remote($page, array(
'update' => $divId,
'url' => $url.'?page='.$page,
'complete'=>visual_effect($appear_effect,$divId),
'loading'=>"$('$divId').innerHTML='<img src=/images/indicator.gif border=0>'",
), array('class'=>'contentLink'));
if ($page != $pager->getCurrentMaxLink()){ echo "-"; }
}
echo link_to_remote('»', array(
'update' => $divId,
'url' => $url.'?page='.$pager->getNextPage(),
'complete'=>visual_effect($appear_effect, $divId),
'loading'=>"$('$divId').innerHTML='<img src=/images/indicator.gif border=0>'",
), array('class'=>'contentLink'));
link_to_remote('>', array(
'update' => $divId,
'url' => $url.'?page='.$pager->getLastPage(),
'complete'=>visual_effect($appear_effect, $divId),
'loading'=>"$('$divId').innerHTML='<img src=/images/indicator.gif border=0>'",
), array('class'=>'contentLink'));
}
}
}
?>调用方法:
复制内容到剪贴板
代码:
<?php
$ajax_pager=new ajaxpager($pager,'myDivId','account/pictures?id='.$accountId,null,'SlideDown');
$ajax_pager->printPager();
?>