【问题标题】:Maximum amount of items in one Page of YiiYii 一页的最大项目数
【发布时间】:2014-07-27 13:30:29
【问题描述】:

我正在开发这个 yii 应用程序,在索引中我正在显示这些项目的“预览”,目前它显示 8 个项目,然后它将自行分页。我想每 4 个项目创建一个页面,我在网上搜索并发现我可以使用 CPagination。我已经按照文档http://www.yiiframework.com/doc/api/1.1/CPagination 中的示例进行了操作,它正在工作,但我不知道如何显示模型我在索引中有以下代码。

foreach($models as $model):
endforeach;
$this->widget('CLinkPager', array(
    'pages' => $pages,
));

我想要显示的数据还有标题、内容、图像和 id,我可以使用 _view,因为我已经从那里设置了关于 css 的所有内容。

另外,yii 应用程序默认使用 CListView 显示索引是否有一种方法可以在那里设置项目限制而不是使用 CPagination

【问题讨论】:

    标签: php yii


    【解决方案1】:

    如果您只想在索引页面上显示 4 个项目,请像这样编辑索引操作:

    public function actionIndex()
    {
        $dataProvider=new CActiveDataProvider('{Model}',
        array(
            'criteria' => array(
                'select' => 'title_field,content_field,image_field',
                'limit' => {Limit},
            )
        ));
        $this->render('index',array(
            'dataProvider'=>$dataProvider,
        ));
    }
    

    此代码将从数据库返回 {Limit} 模型,如果您想按任何字段对它们进行排序,您需要将“订单”添加到条件数组中,如下所示:

            'criteria' => array(
                'select' => 'title_field,content_field,image_field',
                'order' => 'download_id DESC',
                'limit' => {Limit},
            )
    

    在你的视图中,使用 foreach 和 render partial 来渲染 _view。

     foreach($models as $model):
         $this->renderPartial('//{Model}/_view', $model);
     endforeach;
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2018-10-25
      相关资源
      最近更新 更多