当前位置 主页 > 网站技术 > 代码类 >

    Yii框架视图、视图布局、视图数据块操作示例

    栏目:代码类 时间:2019-11-08 18:03

    本文实例讲述了Yii框架视图、视图布局、视图数据块操作。分享给大家供大家参考,具体如下:

    Yii 视图

    控制器方法代码:

      public function actionIndex(){
        $data = array(
          'name' => 'zhangsan',
          'age' => 12,
          'address' => array('北京市','朝阳区'),
          'intro' => '我是简介,<script>alert("123");</script>'
        );
        return $this->renderPartial('index',$data);//第二个参数赋值
      }
    
    

    视图代码:

    <?php
      use yii\helpers\Html;
      use yii\helpers\HtmlPurifier;
    ?>
    <h1>Hello index view</h1>
    <h2>姓名:<?php echo $name;?></h2>
    <h2>年龄:<?=$age?></h2>
    <h2>地址:<?=$address[0]?> <?=$address[1]?></h2>
    <h2>简介:<?=Html::encode($intro)?> </h2>
    <h2>简介:<?=HtmlPurifier::process($intro)?> </h2>
    
    

    Yii 视图布局

    控制器代码:

     //设置的布局文件
      public $layout = 'common';
      public function actionAbout(){
        $data = array('page_name'=>'About');
        //render方法会把视图文件common的内容放到$content当中,并显示布局文件。
        return $this->render('about',$data);
      }
    
    

    公共视图common代码:

    <!DOCTYPE html>
    <html>
    <head>
      <title></title>
      <meta charset="UTF-8">
    </head>
    <body>
    <h1>这是Common内容</h1>
    <div>
      <?=$content?>
    </div>
    </body>
    </html>
    
    

    视图about代码,并调用了activity视图:

    <h1> Hello <?=$page_name?></h1>
    <?php echo $this->render('activity',array('page_name'=>'activity'));?>
    
    

    视图activity代码:

    <h1> Hello <?=$page_name?></h1>
    
    

    结论:视图引用了公共布局文件,并且在一个视图中调用另一个视图文件。

    Yii 视图数据块

    控制器代码:

      public $layout = 'common';
      public function actionStudent(){
        $data = array('page_name'=>'Student');
        return $this->render('student',$data);
      }
      public function actionTeacher(){
        $data = array('page_name'=>'Teacher');
        return $this->render('teacher',$data);
      }
    
    

    公共布局文件common代码:

    <!DOCTYPE html>
    <html>
    <head>
      <title>
        <?php if(isset($this->blocks['webTitle'])):?>
          <?=$this->blocks['webTitle'];?>
        <?php else:?>
          commom
        <?php endif;?>
      </title>
      <meta charset="UTF-8">
    </head>
    <body>
    <h1>这是Common内容</h1>
    <div>
      <?=$content?>
    </div>
    </body>
    </html>
    
    

    视图student代码:

    <?php $this->beginBlock('webTitle');?>
    <?=$page_name?>页面
    <?php $this->endBlock();?>
    <h1> Hello <?=$page_name?></h1>
    
    
    
几何思维:基于并查集的六度分隔理论的验证与实现 JacobDale:小白的经典CNN复现(二):LeNet-5 费弗里:(数据科学学习手札104)Python+Dash快速web应用开发― 易波叶平:【ELK】elastalert 日志告警 肖哥哥:Zabbix监控虚拟机服务-告警与自动恢复 高德技术:高德地图驾车导航内存优化原理与实战 月图灵:postgres模糊匹配大杀器 theMine:Mybatis执行流程学习之手写mybatis雏形 MCTW:从手写三层循环到标准实现,矩阵相乘运行效率提高三万六千 Grey Zeng:apijson简单使用 云服务器规格选型 远程桌面连接win系统发生身份验证错误,要求的函数不受支持解决办法 win8系统发生身份验证错误,要求的函数不受支持解决办法 linux远程拷贝到另一个机器文件? linux远程工具有哪些,常用的远程连接Linux工具有哪些? Linux远程管理常见工具PuTTY和SecureCRT对比 linux远程复制文件夹命令进行远程拷贝文件的 scp命令 linux远程复制 linux远程复制拷贝命令使用实例 windows上好用的ssh工具,Windows下连接Linux的三款好用的ssh工具 windows下ssh工具 windows如何ssh远程登录Linux设置免密登录和别名 windows ssh远程登录,windows如何使用ssh登录ubuntu Visual Studio Code(VS Code)查询PostgreSQL拓展安装教程图解 java 如何判断是否是26个英文字母 Vscode上使用SQL的方法 SpringBoot快速迁移至Quarkus的方法步骤 详解Flutter 调用 Android Native 的方法 xftp xshell,Linux下Xshell的安装和 Xftp的安装 mac下怎么安装go语言 介绍python的函数装饰器