Вход Регистрация
Файл: framework/web/widgets/pagers/CListPager.php
Строк: 95
<?php
/**
 * CListPager class file.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright 2008-2013 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */


/**
 * CListPager displays a dropdown list that contains options leading to different pages of target.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @package system.web.widgets.pagers
 * @since 1.0
 */
class CListPager extends CBasePager
{
    
/**
     * @var string the text shown before page buttons. Defaults to 'Go to page: '.
     */
    
public $header;
    
/**
     * @var string the text shown after page buttons.
     */
    
public $footer;
    
/**
     * @var string the text displayed as a prompt option in the dropdown list. Defaults to null, meaning no prompt.
     */
    
public $promptText;
    
/**
     * @var string the format string used to generate page selection text.
     * The sprintf function will be used to perform the formatting.
     */
    
public $pageTextFormat;
    
/**
     * @var array HTML attributes for the enclosing 'div' tag.
     */
    
public $htmlOptions=array();

    
/**
     * Initializes the pager by setting some default property values.
     */
    
public function init()
    {
        if(
$this->header===null)
            
$this->header=Yii::t('yii','Go to page: ');
        if(!isset(
$this->htmlOptions['id']))
            
$this->htmlOptions['id']=$this->getId();
        if(
$this->promptText!==null)
            
$this->htmlOptions['prompt']=$this->promptText;
        if(!isset(
$this->htmlOptions['onchange']))
            
$this->htmlOptions['onchange']="if(this.value!='') {window.location=this.value;};";
    }

    
/**
     * Executes the widget.
     * This overrides the parent implementation by displaying the generated page buttons.
     */
    
public function run()
    {
        if((
$pageCount=$this->getPageCount())<=1)
            return;
        
$pages=array();
        for(
$i=0;$i<$pageCount;++$i)
            
$pages[$this->createPageUrl($i)]=$this->generatePageText($i);
        
$selection=$this->createPageUrl($this->getCurrentPage());
        echo 
$this->header;
        echo 
CHtml::dropDownList($this->getId(),$selection,$pages,$this->htmlOptions);
        echo 
$this->footer;
    }

    
/**
     * Generates the list option for the specified page number.
     * You may override this method to customize the option display.
     * @param integer $page zero-based page number
     * @return string the list option for the page number
     */
    
protected function generatePageText($page)
    {
        if(
$this->pageTextFormat!==null)
            return 
sprintf($this->pageTextFormat,$page+1);
        else
            return 
$page+1;
    }
}
Онлайн: 2
Реклама