2011-12-08 42 views
7

我是Yii的新手。我想實現自定義分頁。我想改變尋呼機的外觀。如何更改尋呼機鏈接的標籤?如何爲Yii中的傳呼機定製標籤?

我想要的鏈接,看起來像這樣:

<< < 1 2 3 4 > >> 

,而不是他們的默認外觀,它是這樣的:

[first] [previous] 1 2 3 4 [next] [last] 

我使用CListView顯示的數據,這是我設置如下:

$this->widget('zii.widgets.CListView', array(
      'dataProvider' => $categoryProjects, 
      'itemView' => '_itemDetailsView',   
      'ajaxUpdate'=>false, 
     )); 

任何人都可以請告訴我我該如何明星用它?我看過一些帖子,但無法獲得正確的信息。

在此先感謝。

回答

12

您需要設置CListViewpager屬性。默認情況下,這是一個CLinkPager;你不需要更改(此組件有你的需求所覆蓋),但是你需要配置它:

$this->widget('zii.widgets.CListView', array(
      'dataProvider' => $categoryProjects, 
      'itemView'  => '_itemDetailsView', 
      'ajaxUpdate' => false, 
      'pager'  => array(
           'class'   => 'CLinkPager', 
           'firstPageLabel' => '<<', 
           'prevPageLabel' => '<', 
           'nextPageLabel' => '>', 
           'lastPageLabel' => '>>', 
          ), 
     )); 

更新:如果你想「烤在」上面的自定義配置到所有列表在您的應用程序中查看視圖,必須創建一個新的CustomListView組件,該組件來自CListView。因此,你需要這個類:

Yii::import('zii.widgets.CListView'); 

class CustomListView extends CListView { 
    public function init() { 
     parent::init(); 

     $this->pager = array( 
          'class'   => 'CLinkPager', 
          'firstPageLabel' => '<<', 
          'prevPageLabel' => '<', 
          'nextPageLabel' => '>', 
          'lastPageLabel' => '>>', 
         ); 
    } 
} 

包括在此之後,你可以簡單地使用CustomListView爲您的列表部件,而不是zii.widgets.CListView

+0

感謝喬恩快速回復。有沒有辦法在單個文件中實現它,它會自動應用於所有文件。我在很多文件中使用了這個cListView。還有我可以在哪裏更改頁碼的CSS? –

+0

@RSK:請參閱[本討論](http://www.yiiframework.com/forum/index.php?/topic/26055-change-the-general-pager-css-for-all-application/) CSS。我將很快更新你的其他問題的答案。 – Jon

+0

如何限制頁碼數爲5?顯示10個頁碼的默認設置。我試過這個公共$ maxButtonCount = 5;但這不適合我。有什麼建議麼?此外,我想改變佈局有點像這樣<1 ... 8 9 10 11 12 .... 30>,因爲它顯示10頁.. –

相關問題