博主信息
博文 53
粉丝 4
评论 3
访问量 49758
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php0529之TP模板赋值、内容过滤替换、模板动态布局、模板继承技术
有点凉了
原创
1257人浏览过

123.gif

实例

<?php
namespace app\index\controller;

use think\Controller;

class Index extends Controller
{
    //模板渲染
    public function index()
    {
        return $this->view->fetch();
    }
    //模板赋值
    public function index1(){
        $this->view->assign('name','QB');
        $this->view->assign('grade',1);
        return $this->view->fetch();
    }
    //模板过滤与替换
    public function index2(){
        $this->view->assign('name','QB');
        $this->view->assign('email','QB@qq.com');
        $this->view->assign('grade',1);
        $filter = function ($content){
            return str_replace('Q','B',$content);//针对内部所有包含当前字段的替换
        };
        return $this->filter($filter)->fetch();
    }

    //模板布局全局配置   需要开启全局配置
    public function index3(){
        return $this->view->fetch();
    }
    //模板标签方式引入布局----注意如果采用模板标签方式 则 不需要开启 模板布局全局配置 可以关掉
    public function index4(){
        return $this->view->fetch();
    }
    //动态方法布局
    public function index5(){
        $this->view->engine->layout(true);
        return $this->fetch('index/index5');
    }
    //模板继承
    public function index6(){
        return $this->view->fetch();
    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
     <h2>视图渲染等级</h2>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2>{$name}视图渲染等级{$grade}</h2>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2>{$name}视图渲染等级{$grade}邮箱是{$email}</h2>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<!--{__NOLAYOUT__}//如果开启了全局当前界面不需要引入模板那么直接在顶部写入标签 __NOLAYOU__ 屏蔽渲染layout模板-->
<div>
    <h4>这里是主体部分</h4>
</div>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

{////注意这里可以切换引入 不同的layout 只要 name对应的是对应的布局模板就可以 layout name="layout"/}
{layout name="layoutindex"/}
<h2>这个使用模板标签方式进行模板渲染输出</h2>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

{//__NOLAYOUT__}
<h2>这个是动态布局</h2>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

{extend name="base" /}

{block name="main"}
重写了进行修改,如果这里不重写直接 原样输出
{/block}


注意:1、子模块如果不重写以父布局为准,重写以自身为准
2、子模块block标签以外的元素不会被显示,父模块原样输出
3、注意父模块中除了block嵌套的元素不应该再出现其他元素block外部,那样子模块无法处理除非所有地方都不带变的

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<h2>这个是网站底部</h2>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2>这个是网站头部</h2>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

{block name="top"}
    {include file="public/header" /}
{/block}
{block name="main"}
   主体部分
{/block}
{block name="footer"}
    {include file="public/footer" /}
{/block}
其他区域 --->讲道理base里边不应该有这个东西 ,子模块控制不了不带block的元素块

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

{include file="public/header"}
{__CONTENT__}
{include file="public/footer"}

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

{__CONTENT__}
{include file="public/footer"}

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学