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

WBOY
Freigeben: 2016-06-06 20:47:42
Original
1115 Leute haben es durchsucht

这几天刚开始研究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>
Nach dem Login kopieren
Nach dem Login kopieren

问一下大家,在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>
Nach dem Login kopieren
Nach dem Login kopieren

问一下大家,在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>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage