2011-12-08 4 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' => '>>', 
          ), 
     )); 

更新:あなたはすべてのリストに上記のカスタム設定を「中焼く」にしたい場合アプリケーションでビューを表示するには、CListViewに由来する新しいCustomListViewコンポーネントを作成する必要があります。だから、このクラスが必要:

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

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

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

これを含めた後、あなたは、単にあなたのリストウィジェットの代わりzii.widgets.CListViewとしてCustomListViewを使用することができます。

+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ページの番号が表示されます。私はこのpublic $ maxButtonCount = 5を試しました。しかし、これは私のために働いていません。助言がありますか?また、レイアウトを少し変更したいのですが<1 ... 8 9 10 11 12 .... 30> 10ページを表示しているので.. –

関連する問題