yii bootstrap按ASC或DESC排序默认顺序

时间:2014-03-19 09:54:00

标签: php twitter-bootstrap sorting yii

Hye我有两个选项,一个是根据标题排序,另一个是创建。 当我在我的函数中实现可排序属性时,此选项都具有默认的升序排序。我希望我的标题在默认升序但我最新的是降序。以下是我的代码:

<?php $this->widget('bootstrap.widgets.TbListView',array(
    'dataProvider'=>$dataProvider,
    'itemView'=>'_view',
    //'template' => '{items} {pager}',
    'ajaxUpdate' => false,
    'sortableAttributes'=>array(
        'title' => '<span class="label label-warning">Title</span>',
        'created'=>'<span class="label label-warning">Latest</span>',

    ),
)); ?>

我已经阅读了yii forum ,我需要在我的数据提供程序中实现它。

$dataProvider->sort->defaultOrder='dateCreate ASC';

实现以下代码后:

<?php $this->widget('bootstrap.widgets.TbListView',array(
    'dataProvider'=>$dataProvider->sort->defaultOrder='created DESC',
    'itemView'=>'_view',
    //'template' => '{items} {pager}',
    'ajaxUpdate' => false,
    'sortableAttributes'=>array(
        'title' => '<span class="label label-warning">Title</span>',
        'created'=>'<span class="label label-warning">Latest</span>',

    ),
)); ?>

现在我收到一条错误消息,说:

致命错误:在第111行的/home/smartmob/public_html/framework/zii/widgets/CBaseListView.php中的非对象上调用成员函数getData()

有人可以帮我解决我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

以下代码无效。您正在将gridView的数据提供者设置为defaultOrder而不是$dataProvider

'dataProvider'=>$dataProvider->sort->defaultOrder='created DESC', 

在将defaultOrder传递到网格之前,你必须设置$dataProvider->sort->defaultOrder='created DESC'; <?php $this->widget('bootstrap.widgets.TbListView',array( 'dataProvider'=>$dataProvider, ...

{{1}}