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

WBOY
풀어 주다: 2016-06-06 20:47:42
원래의
1114명이 탐색했습니다.

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

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

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

<code><?php $this->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',
        ),
    ),
)); ?>
</code>
로그인 후 복사
로그인 후 복사

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

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

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

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

这就不会了,

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

回复内容:

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

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

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

<code><?php $this->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',
        ),
    ),
)); ?>
</code>
로그인 후 복사
로그인 후 복사

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

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

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

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

这就不会了,

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

<code>//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对象实例,用->访问属性即可
<table class="list">
<?php foreach($data as $item){ ?>
    <tr>
        <td>
<?php echo $item->id; ?></td>
        <td>
<?php echo $item->name; ?></td>
        <td>
<?php echo $item->age; ?></td>
        <td>
<?php echo $item->gender; ?></td>
    </tr>
<?php } ?>
</table>
<ul class="page">
<?php //不使用CLinkPager,自己输出分页;需要注意的是CPagination对象的currentPage属性是从0开始计算的
//这里就简单示例了,没有最小、最大页判断等等,自己研究CPagination对象吧
for($p = 1; $p <= $pages->pageCount; $p++){
    if ($p == ($pages->currentPage + 1){
         echo "<li class="active"><a href="#">{$p}</a></li>";
    }else{
         echo "<li class="active"><a href="/mycontroller/index?page=%7B%24p%7D">{$p}</a></li>";
    }
}
?>
</ul>
</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿