• 技术文章 >php框架 >YII

    yii视图中使用widget的三种方式

    VV2021-02-19 10:07:46转载83

    以下总结了三种yii视图中使用widget的方式,希望能够帮助到大家。

    一、显示详细信息:

    066c650b00b7f4fb9215c4c649da654.png

    二、显示列表,可以进行条件限制和分页:
    控制器:

    ee6e0d01d5a708f03b52c449aea6dc6.png

    视图:

    cad70bed2c4364c80373302cda2a671.png

    子视图:

    getAttributeLabel('id')); ?>://$data接收来自父视图的数据,使用getAttributeLabel()获取模型中设置的标签
    id), array('view', 'id'=>$data->id)); ?>//使用$data->attribute获取值。

    三、显示列表,但是结果会在表格中显示

    6357d4671ed89b2977dd9bd09a7389e.png

    Yii中loadModel的使用:$this->loadModel($modelId);
    一般在R/U/D操作中,会loadModel($modelId),这是因为此时,读,更新和删除时,已经通过GET方式获取到了model的id值,只需要将对应id的model加载进来,就可以了。
    但是在C(建立),不需要loadModel,而是需要新建一个初始化的model。
    使用$_POST['Model']的值分别填充model的attribute后,就可以save()了。

    Yii中不同控制器使用同一个模板:
    在Yii的CRUD操作中,C和U使用的是同一个子视图。区别在于:
    C操作中,所有的input的值都是空,新建的model也是初始化状态,并准备接收来自POST的值。
    在U操作中,所有input的值需要通过loadModel($id)的方式填充,然后准备接收来自POST的更新的值(有的
    值并没有被用户修改);
    然后,根据$model->isNewRecord()来判断提交按钮显示C还是U操作。
    最后使用$model->save();将记录存储。

    Yii中渲染视图的方式:
    使用$this->render()和$this->renderPartial()渲染视图;
    前者一般渲染一个整体视图,在整体视图中可能会用后者渲染需要重复渲染的部分。
    例如在indexAction中一般会显示记录列表,由于所有记录的渲染方式一致,此时会使用子
    视图来分别渲染相同的部分。而index视图只是渲染一个大的结果,比如导航面包碎屑,记录的条数和
    分页等。

    From:http://zhouyujiao163.blog.163.com/blog/static/48363054201161464156603/

    相关推荐:yii框架

    以上就是yii视图中使用widget的三种方式的详细内容,更多请关注php中文网其它相关文章!

    本文转载于:博客园,如有侵犯,请联系a@php.cn删除
    专题推荐:yii widget
    上一篇:yii2如何实现使用qq邮箱发送文件 下一篇:利用yii 2框架发送电子邮件
    第15期线上培训班

    相关文章推荐

    • 如何实现用yii2.0创建简单的widgets• 关于ThinkPHP3.1中Widget的用法• yii2 模板twig中使用GridView::widget• widget怎么关闭

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网