Mycart存储在我希望在cgridview中显示的会话中。我已经将cgridview与dataprovider一起使用,但是我可以使用会话值来实现这一点。是否可能?如果不是最好的方法是什么。如果是,我不知道如何继续。
请提供一些指导或示例。如果我不清楚,请告诉我。我一定要澄清自己。
答案 0 :(得分:1)
如果您不想使用数据提供者,您可以随时创建自己的HTML表格。
Yii CGridView
需要数据提供者,因此如果您无法提供数据提供者,则无法使用CGridView
。请改用CArrayDataProvider
:
$sessionData = Yii::app()->user->getState('cart');
// $dataProvider = new CArrayDataProvider($sessionData); //throws undefined index:id exception
$dataProvider = new CArrayDataProvider($sessionData, array('keyField'=>'id'));
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'your-grid',
'dataProvider' => $dataProvider,
'columns' => array(
'item_name',
'qty',
// etc
)
));