如何定位分页在列表视图的ul标签



在制作Yii2网站时,我遇到了listview小部件的一些困难。我的前端开发人员说分页容器应该不在项目容器中。这是我的代码。

<?php echo yiiwidgetsListView::widget([
          'dataProvider'=>$dataProvider,
          'pager'=>[
                 'hideOnSinglePage'=>true,
                 // Customzing options for pager container tag
                 'options' => [
                        'class' => 'pager-wrapper',
                        'id' => 'pager-container',
                 ],
            ],
            'itemView'=>'_item',
            'summary' => '',
            'itemOptions' => ['tag'=>'li', 'class'=>'cam-container'],
            'options' => [
                'tag'=>'ul', 
                'class'=>'cam-list row clearfix'
            ]
])?>

这个listview小部件在HTML

中生成以下代码
<ul id="w0" class="cam-list row clearfix">
       <li class="cam-container" data-key="34"></li>
       <ul id="pager-container" class="pager-wrapper">
 </ul>

但我想要的结果是pager-container将从.cam-list容器中取出

 <ul id="w0" class="cam-list row clearfix">
       <li class="cam-container" data-key="34"></li>
 </ul>
 <ul id="pager-container" class="pager-wrapper">

这是可能的吗?

嗯,我发现我们可以分别渲染它们。在我的例子中,我把它们渲染成

$widget = yiiwidgetsListView::begin([ some code ]);
<ul class="cam-list row clearfix">
    <?php echo $widget->renderItems();  ?>
</ul>
<?php echo $widget->renderPager(); ?>

我在我的应用程序中使用了这个解决方案:

<?php echo yiiwidgetsListView::widget([
          'dataProvider'=>$dataProvider,
          'pager'=>[
                 'hideOnSinglePage'=>true,
                 // Customzing options for pager container tag
                 'options' => [
                        'class' => 'pager-wrapper',
                        'id' => 'pager-container',
                 ],
            ],
            'itemView'=>'_item',
            'summary' => '',
            'layout' => "{summary}n<ul class='cam-list row clearfix'>{items}</ul>n{pager}",
            'itemOptions' => ['tag'=>'li', 'class'=>'cam-container'],
])?>

对于这个解决方案,我使用布局在项目周围添加<ul>,并在它之后渲染pager。

最新更新