CLinkPager
鍖 | system.web.widgets.pagers |
---|---|
缁ф壙 | class CLinkPager » CBasePager » CWidget » CBaseController » CComponent |
婧愯嚜 | 1.0 |
鐗堟湰 | $Id: CLinkPager.php 3515 2011-12-28 12:29:24Z mdomba $ |
婧愮爜 | framework/web/widgets/pagers/CLinkPager.php |
CLinkPager鐢ㄤ簬鏄剧ず鍒嗛〉鐨勮秴閾炬帴鍒楄〃銆
鍏叡灞炴
灞炴 | 绫诲瀷 | 鎻忚堪 | 瀹氫箟鍦 |
---|---|---|---|
actionPrefix | string | actions鐨処D鐨勫墠缂銆 褰撳井浠跺湪CController::actions涓0鏄庝簡 鍔ㄤ綔鎻愪緵鑰咃紝鍙互涓哄叾鍔ㄤ綔鐨処D鎸囧畾鍓嶇紑浠ュ尯鍒 浜庡埆鐨勫井浠舵垨鎺у埗鍣ㄣ傚綋寰欢鐢ㄤ簬鎺у埗鍣 鐨勮鍥句腑鏃讹紝蹇呴』閰嶇疆鍚屾牱鐨勫墠缂銆 | CWidget |
controller | CController | 杩斿洖姝ゅ井浠舵墍灞炵殑鎺у埗鍣ㄣ | CWidget |
cssFile | mixed | 鐢ㄤ簬鎸備欢鐨凜SS鏍峰紡鏂囦欢銆傞粯璁ゆ槸 null锛 鎰忓懗鐫灏嗕娇鐢ㄥ寘鍚湪鎸備欢閲岀殑CSS鏍峰紡銆 濡傛灉鏄痜alse锛屽氨涓嶄細浣跨敤CSS鏍峰紡銆傚鏋滃畾涔変簡璇ュ睘鎬э紝 浣跨敤璇ユ寕浠舵椂鎸囧畾鐨凜SS浼氳鍖呭惈杩涙潵銆 | CLinkPager |
currentPage | integer | 褰撳墠椤电殑绱㈠紩锛堜粠0寮濮嬶級銆傜己鐪佷负0銆 | CBasePager |
firstPageLabel | string | 鈥滅涓椤碘濇寜閽殑鏂囨湰銆傞粯璁ゆ槸鈥<< First鈥樸 | CLinkPager |
footer | string | 鍒嗛〉鎸夐挳鍚庨潰鏄剧ず鐨勬枃鏈 | CLinkPager |
header | string | 鍒嗛〉鎸夐挳鍓嶉潰鏄剧ず鐨勬枃鏈傞粯璁ゆ槸鈥橤o to page: 鈥樸 | CLinkPager |
htmlOptions | array | 鍒嗛〉鏍囩鐨凥TML灞炴с | CLinkPager |
id | string | 杩斿洖姝ゅ井浠剁殑ID銆傚鏋滈渶瑕佺殑璇濓紝灏嗙敓浜т竴涓柊鐨処D骞跺皢鍏惰繑鍥炪 | CWidget |
itemCount | integer | 椤圭洰鐨勬婚噺銆 | CBasePager |
lastPageLabel | string | 鈥滄渶鍚庝竴椤碘濇寜閽殑鏂囨湰銆傞粯璁ゆ槸鈥橪ast >>鈥樸 | CLinkPager |
maxButtonCount | integer | 瑕佹樉绀虹殑鏈澶氬垎椤垫寜閽暟銆傞粯璁10銆 | CLinkPager |
nextPageLabel | string | 鈥滀笅涓椤碘濇寜閽殑鏂囨湰銆傞粯璁も楴ext >鈥欍 | CLinkPager |
owner | CBaseController | 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 | CWidget |
pageCount | integer | 椤垫暟 | CBasePager |
pageSize | integer | 姣忛〉鍖呭惈椤圭洰鐨勬暟閲忋 | CBasePager |
pages | CPagination | 杩斿洖姝ager鎵鐢ㄧ殑鍒嗛〉淇℃伅銆 | CBasePager |
prevPageLabel | string | 鈥滀笂涓椤碘濇寜閽殑鏂囨湰銆傞粯璁も< Previous鈥欍 | CLinkPager |
skin | mixed | 寰欢浣跨敤鐨勭毊鑲ょ殑鍚嶇О銆傞粯璁や负鈥渄efault鈥濄 濡傛灉姝ゅ睘鎬ц缃负false锛屽井浠跺皢涓嶄細鏈夌毊鑲よ浣跨敤銆 | CWidget |
viewPath | string | 杩斿洖鍖呭惈姝ゅ井浠舵墍闇鐨勮鍥炬枃浠剁殑璺緞銆 | CWidget |
鍏叡鏂规硶
鏂规硶 | 鎻忚堪 | 瀹氫箟鍦 |
---|---|---|
__call() | 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 | CComponent |
__construct() | 鏋勯犲櫒銆 | CWidget |
__get() | 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 | CComponent |
__isset() | 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 | CComponent |
__set() | 璁剧疆涓涓粍浠剁殑灞炴у笺 | CComponent |
__unset() | 璁剧疆涓涓粍浠剁殑灞炴т负null銆 | CComponent |
actions() | 杩斿洖姝idget浣跨敤鐨勫姩浣滅殑鍒楄〃銆 | CWidget |
asa() | 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° | CComponent |
attachBehavior() | 闄勫姞涓涓涓哄埌缁勪欢銆 | CComponent |
attachBehaviors() | 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 | CComponent |
attachEventHandler() | 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 | CComponent |
beginCache() | Begins fragment caching. | CBaseController |
beginClip() | Begins recording a clip. | CBaseController |
beginContent() | Begins the rendering of content that is to be decorated by the specified view. | CBaseController |
beginWidget() | Creates a widget and executes it. | CBaseController |
canGetProperty() | 纭畾灞炴ф槸鍚﹀彲璇汇 | CComponent |
canSetProperty() | 纭畾灞炴ф槸鍚﹀彲鍐欍 | CComponent |
createWidget() | Creates a widget and initializes it. | CBaseController |
detachBehavior() | 浠庣粍浠朵腑鍒嗙涓涓涓恒 | CComponent |
detachBehaviors() | 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 | CComponent |
detachEventHandler() | 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 | CComponent |
disableBehavior() | 绂佺敤涓涓檮鍔犺涓恒 | CComponent |
disableBehaviors() | 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 | CComponent |
enableBehavior() | 鍚敤涓涓檮鍔犺涓恒 | CComponent |
enableBehaviors() | 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 | CComponent |
endCache() | Ends fragment caching. | CBaseController |
endClip() | Ends recording a clip. | CBaseController |
endContent() | Ends the rendering of content. | CBaseController |
endWidget() | Ends the execution of the named widget. | CBaseController |
evaluateExpression() | 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 | CComponent |
getController() | 杩斿洖姝ゅ井浠舵墍灞炵殑鎺у埗鍣ㄣ | CWidget |
getCurrentPage() | 杩斿洖褰撳墠椤电殑绱㈠紩锛堜粠0寮濮嬶級銆傜己鐪佷负0銆 | CBasePager |
getEventHandlers() | 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 | CComponent |
getId() | 杩斿洖姝ゅ井浠剁殑ID銆傚鏋滈渶瑕佺殑璇濓紝灏嗙敓浜т竴涓柊鐨処D骞跺皢鍏惰繑鍥炪 | CWidget |
getItemCount() | 杩斿洖椤圭洰鐨勬婚噺銆 | CBasePager |
getOwner() | 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 | CWidget |
getPageCount() | 杩斿洖椤垫暟 | CBasePager |
getPageSize() | 杩斿洖姣忛〉鍖呭惈椤圭洰鐨勬暟閲忋 | CBasePager |
getPages() | 杩斿洖姝ager鎵鐢ㄧ殑鍒嗛〉淇℃伅銆 | CBasePager |
getViewFile() | 鏍规嵁瑙嗗浘鍚嶆煡鎵捐鍥炬枃浠躲 | CWidget |
getViewPath() | 杩斿洖鍖呭惈姝ゅ井浠舵墍闇鐨勮鍥炬枃浠剁殑璺緞銆 | CWidget |
hasEvent() | 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 | CComponent |
hasEventHandler() | 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 | CComponent |
hasProperty() | 纭畾灞炴ф槸鍚﹁瀹氫箟銆 | CComponent |
init() | 閫氳繃璁剧疆涓浜涢粯璁ゅ睘鎬у煎垵濮嬪寲pager銆 | CLinkPager |
raiseEvent() | 鍙戣捣涓涓簨浠躲 | CComponent |
registerClientScript() | 鍔犺浇鎵闇鐨勫鎴风鑴氭湰锛堜富瑕佹槸CSS鏂囦欢锛夈 | CLinkPager |
registerCssFile() | 鍔犺浇鎵闇鐨凜SS鏂囦欢銆 | CLinkPager |
render() | 娓叉煋涓涓鍥俱 | CWidget |
renderFile() | Renders a view file. | CBaseController |
renderInternal() | Renders a view file. | CBaseController |
run() | 鎵ц杩欎釜鎸備欢銆 | CLinkPager |
setCurrentPage() | 璁剧疆褰撳墠椤电殑绱㈠紩锛堜粠0寮濮嬶級銆 | CBasePager |
setId() | 璁剧疆姝ゅ井浠剁殑ID銆 | CWidget |
setItemCount() | 璁剧疆椤圭洰鐨勬婚噺銆 | CBasePager |
setPageSize() | 璁剧疆姣忛〉鍖呭惈鐨勯」鐩殑鏁伴噺 | CBasePager |
setPages() | 璁剧疆姝ager鎵鐢ㄧ殑鍒嗛〉淇℃伅銆 | CBasePager |
widget() | Creates a widget and executes it. | CBaseController |
鍙椾繚鎶ゆ柟娉
鏂规硶 | 鎻忚堪 | 瀹氫箟鍦 |
---|---|---|
createPageButton() | 鍒涘缓涓涓垎椤垫寜閽 | CLinkPager |
createPageButtons() | 鍒涘缓鍒嗛〉鎸夐挳銆 | CLinkPager |
createPageUrl() | 鍒涘缓鍒嗛〉閫傜敤鐨刄RL銆 | CBasePager |
createPages() | 鍒涘缓缂虹渷鍒嗛〉銆 | CBasePager |
getPageRange() | 杩斿洖瑕佹樉绀虹殑寮濮嬪拰缁撴潫椤点 | CLinkPager |
灞炴ц缁
cssFile
灞炴
public mixed $cssFile;
鐢ㄤ簬鎸備欢鐨凜SS鏍峰紡鏂囦欢銆傞粯璁ゆ槸 null锛 鎰忓懗鐫灏嗕娇鐢ㄥ寘鍚湪鎸備欢閲岀殑CSS鏍峰紡銆 濡傛灉鏄痜alse锛屽氨涓嶄細浣跨敤CSS鏍峰紡銆傚鏋滃畾涔変簡璇ュ睘鎬э紝 浣跨敤璇ユ寕浠舵椂鎸囧畾鐨凜SS浼氳鍖呭惈杩涙潵銆
firstPageLabel
灞炴
public string $firstPageLabel;
鈥滅涓椤碘濇寜閽殑鏂囨湰銆傞粯璁ゆ槸鈥<< First鈥樸
public string $footer;
鍒嗛〉鎸夐挳鍚庨潰鏄剧ず鐨勬枃鏈
header
灞炴
public string $header;
鍒嗛〉鎸夐挳鍓嶉潰鏄剧ず鐨勬枃鏈傞粯璁ゆ槸鈥橤o to page: 鈥樸
htmlOptions
灞炴
public array $htmlOptions;
鍒嗛〉鏍囩鐨凥TML灞炴с
lastPageLabel
灞炴
public string $lastPageLabel;
鈥滄渶鍚庝竴椤碘濇寜閽殑鏂囨湰銆傞粯璁ゆ槸鈥橪ast >>鈥樸
maxButtonCount
灞炴
public integer $maxButtonCount;
瑕佹樉绀虹殑鏈澶氬垎椤垫寜閽暟銆傞粯璁10銆
nextPageLabel
灞炴
public string $nextPageLabel;
鈥滀笅涓椤碘濇寜閽殑鏂囨湰銆傞粯璁も楴ext >鈥欍
pageRange
灞炴
鍙
protected array getPageRange()
瑕佹樉绀虹殑寮濮嬪拰缁撴潫椤点
prevPageLabel
灞炴
public string $prevPageLabel;
鈥滀笂涓椤碘濇寜閽殑鏂囨湰銆傞粯璁も< Previous鈥欍
鏂规硶璇︾粏
createPageButton()
鏂规硶
protected string createPageButton(string $label, integer $page, string $class, boolean $hidden, boolean $selected)
| ||
$label | string | 鎸夐挳涓婄殑鏂囨湰 |
$page | integer | 椤电爜 |
$class | string | 鍒嗛〉鎸夐挳鐨凜SS鏍峰紡銆傝繖鍙互鏄檖age鈥橈紝鈥檉irst鈥橈紝鈥檒ast鈥橈紝鈥檔ext鈥樻垨鈥檖revious鈥樸 |
$hidden | boolean | 鏄惁鏄剧ず鍒嗛〉鎸夐挳 |
$selected | boolean | 鏄惁閫変腑鍒嗛〉鎸夐挳 |
{return} | string | 鐢熸垚鐨勬寜閽 |
婧愮爜锛 framework/web/widgets/pagers/CLinkPager.php#152 (鏄剧ず)
protected function createPageButton($label,$page,$class,$hidden,$selected)
{
if($hidden || $selected)
$class.=' '.($hidden ? self::CSS_HIDDEN_PAGE : self::CSS_SELECTED_PAGE);
return '<li class="'.$class.'">'.CHtml::link($label,$this->createPageUrl($page)).'</li>';
}
鍒涘缓涓涓垎椤垫寜閽 浣犲彲浠ラ噸鍐欒繖涓柟娉曟潵瀹氬埗鍒嗛〉鎸夐挳銆
createPageButtons()
鏂规硶
protected array createPageButtons()
| ||
{return} | array | 鍒嗛〉鎸夐挳鐨勫垪琛紙杩斿洖鐨勬槸HTML浠g爜锛夈 |
婧愮爜锛 framework/web/widgets/pagers/CLinkPager.php#110 (鏄剧ず)
protected function createPageButtons()
{
if(($pageCount=$this->getPageCount())<=1)
return array();
list($beginPage,$endPage)=$this->getPageRange();
$currentPage=$this->getCurrentPage(false); // currentPage is calculated in getPageRange()
$buttons=array();
// first page
$buttons[]=$this->createPageButton($this->firstPageLabel,0,self::CSS_FIRST_PAGE,$currentPage<=0,false);
// prev page
if(($page=$currentPage-1)<0)
$page=0;
$buttons[]=$this->createPageButton($this->prevPageLabel,$page,self::CSS_PREVIOUS_PAGE,$currentPage<=0,false);
// internal pages
for($i=$beginPage;$i<=$endPage;++$i)
$buttons[]=$this->createPageButton($i+1,$i,self::CSS_INTERNAL_PAGE,false,$i==$currentPage);
// next page
if(($page=$currentPage+1)>=$pageCount-1)
$page=$pageCount-1;
$buttons[]=$this->createPageButton($this->nextPageLabel,$page,self::CSS_NEXT_PAGE,$currentPage>=$pageCount-1,false);
// last page
$buttons[]=$this->createPageButton($this->lastPageLabel,$pageCount-1,self::CSS_LAST_PAGE,$currentPage>=$pageCount-1,false);
return $buttons;
}
鍒涘缓鍒嗛〉鎸夐挳銆
getPageRange()
鏂规硶
protected array getPageRange()
| ||
{return} | array | 瑕佹樉绀虹殑寮濮嬪拰缁撴潫椤点 |
婧愮爜锛 framework/web/widgets/pagers/CLinkPager.php#162 (鏄剧ず)
protected function getPageRange()
{
$currentPage=$this->getCurrentPage();
$pageCount=$this->getPageCount();
$beginPage=max(0, $currentPage-(int)($this->maxButtonCount/2));
if(($endPage=$beginPage+$this->maxButtonCount-1)>=$pageCount)
{
$endPage=$pageCount-1;
$beginPage=max(0,$endPage-$this->maxButtonCount+1);
}
return array($beginPage,$endPage);
}
init()
鏂规硶
public void init()
|
婧愮爜锛 framework/web/widgets/pagers/CLinkPager.php#72 (鏄剧ず)
public function init()
{
if($this->nextPageLabel===null)
$this->nextPageLabel=Yii::t('yii','Next >');
if($this->prevPageLabel===null)
$this->prevPageLabel=Yii::t('yii','< Previous');
if($this->firstPageLabel===null)
$this->firstPageLabel=Yii::t('yii','<< First');
if($this->lastPageLabel===null)
$this->lastPageLabel=Yii::t('yii','Last >>');
if($this->header===null)
$this->header=Yii::t('yii','Go to page: ');
if(!isset($this->htmlOptions['id']))
$this->htmlOptions['id']=$this->getId();
if(!isset($this->htmlOptions['class']))
$this->htmlOptions['class']='yiiPager';
}
閫氳繃璁剧疆涓浜涢粯璁ゅ睘鎬у煎垵濮嬪寲pager銆
registerClientScript()
鏂规硶
public void registerClientScript()
|
婧愮爜锛 framework/web/widgets/pagers/CLinkPager.php#179 (鏄剧ず)
public function registerClientScript()
{
if($this->cssFile!==false)
self::registerCssFile($this->cssFile);
}
鍔犺浇鎵闇鐨勫鎴风鑴氭湰锛堜富瑕佹槸CSS鏂囦欢锛夈
registerCssFile()
鏂规硶
public static void registerCssFile(string $url=NULL)
| ||
$url | string | CSS URL銆傚鏋滀负null锛岄偅涔堜細浣跨敤榛樿鐨凜SS URL銆 |
婧愮爜锛 framework/web/widgets/pagers/CLinkPager.php#189 (鏄剧ず)
public static function registerCssFile($url=null)
{
if($url===null)
$url=CHtml::asset(Yii::getPathOfAlias('system.web.widgets.pagers.pager').'.css');
Yii::app()->getClientScript()->registerCssFile($url);
}
鍔犺浇鎵闇鐨凜SS鏂囦欢銆
run()
鏂规硶
public void run()
|
婧愮爜锛 framework/web/widgets/pagers/CLinkPager.php#95 (鏄剧ず)
public function run()
{
$this->registerClientScript();
$buttons=$this->createPageButtons();
if(empty($buttons))
return;
echo $this->header;
echo CHtml::tag('ul',$this->htmlOptions,implode("\n",$buttons));
echo $this->footer;
}
鎵ц杩欎釜鎸備欢銆 褰撴樉绀虹敓鎴愮殑鍒嗛〉鎸夐挳鏃惰繖涓柟娉曚細瑕嗙洊鐖剁被鐨勫疄鐜般