【问题标题】:How can I customize the labels for the pager in Yii?如何在 Yii 中自定义寻呼机的标签?
【发布时间】:2012-01-15 13:39:03
【问题描述】:

我是 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,
        ));

谁能告诉我如何开始?我看过一些帖子,但无法获得正确的信息。

提前致谢。

【问题讨论】:

    标签: php pagination yii paging


    【解决方案1】:

    你可以参考链接:

    Yii2: How to setup pagination style and other labels

    在这里您将获得为自定义分页标签设置的大部分选项

    【讨论】:

      【解决方案2】:

      您需要设置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'  => '>>', 
                             );
          }
      }
      

      包含此内容后,您可以简单地使用 CustomListView 作为列表小部件,而不是 zii.widgets.CListView

      【讨论】:

      • 感谢乔恩的快速回复。有没有办法在单个文件中实现它,它将自动应用于所有文件。我在很多文件中都使用了这个 cListView。还有在哪里可以更改页码的 CSS?
      • @RSK:请参阅this discussion 了解 CSS。我将很快更新您其他问题的答案。
      • 如何将页码限制为 5?默认设置显示 10 个页码。我试过这个 public $maxButtonCount=5;但这对我不起作用。有什么建议?另外我想改变布局有点像这样 因为它显示 10 页..
      猜你喜欢
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      相关资源
      最近更新 更多