当前位置:Gxlcms > PHP教程 > Yii框架中采用自己的写的html,不用框架自带widgets问题

Yii框架中采用自己的写的html,不用框架自带widgets问题

时间:2021-07-01 10:21:17 帮助过:19人阅读

这几天刚开始研究PHP框架Yii,

使用自带的zii.widgets、zii.widgets.grid等组件,

虽然很强大,但是样式设置不够灵活,

widget('zii.widgets.grid.CGridView', array(
    'id'=>'content-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'title',
        'times',
        'content',
        'dc_id',
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

问一下大家,在yii中如何使用自己写的html代码,

在views中写入html代码,这我会,

而且静态的都可以正常显示,

但是怎么把自己的html代码和models中的数据模型里的字段绑定,

这就不会了,

比如:怎么显示数据在表格、列表、分页等?

回复内容:

这几天刚开始研究PHP框架Yii,

使用自带的zii.widgets、zii.widgets.grid等组件,

虽然很强大,但是样式设置不够灵活,

widget('zii.widgets.grid.CGridView', array(
    'id'=>'content-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'title',
        'times',
        'content',
        'dc_id',
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

问一下大家,在yii中如何使用自己写的html代码,

在views中写入html代码,这我会,

而且静态的都可以正常显示,

但是怎么把自己的html代码和models中的数据模型里的字段绑定,

这就不会了,

比如:怎么显示数据在表格、列表、分页等?

//in controller
public function actionIndex() {
    //初始化model
    $mymodel = new Mymodel();
    //获取筛选条件
    $criteria = $mymodel->search();

    //如果不用Criteria,也可以直接写condition语句(findAll要保持一样,但是offset和limit就要自己计算了),例如
    //$count = Mymodel::model()->count("uid=:uid", array("uid"=>intval($_GET["uid"])));

    //处理分页
    $count = Mymodel::model()->count($criteria);
    $pages = new CPagination($count);
    $pages->pageSize = 20;
    $pages->applyLimit($criteria);
    //获取数据
    $data = Mymodel::model()->findAll($criteria);

    $this->render('index', array(
        "model" => $mymodel,//下面的片段模板将不使用
        "pages" => $pages,
        "data" => $data,
    ));
}

//in template,直接遍历$data,元素是Mymodel对象实例,用->访问属性即可
id; ?> name; ?> age; ?> gender; ?>
    输出分页;需要注意的是CPagination对象的currentPage属性是从0开始计算的 //这里就简单示例了,没有最小、最大页判断等等,自己研究CPagination对象吧 for($p = 1; $p <= $pages->pageCount; $p++){ if ($p == ($pages->currentPage + 1){ echo "
  • {$p}
  • "; }else{ echo "
  • {$p}
  • "; } } ?>

人气教程排行