Blogger Information
Blog 46
fans 1
comment 1
visits 30420
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
模板的重要内容--2018年5月29日
笨鸟先飞
Original
731 people have browsed it

模板赋值与模板内容过滤与替换技术:

实例

 //模板赋值
    public function demo2()
    {
    	//1.assign('模板变量',值)====(在view/index/demo2.html里面的$name,值就是当前类中的属性值)
    	$name = '好好学习,天天向上';
    	$this->view->assign('my_name',$name);

    	//2.传参赋值:fetch('模板',[参数数组])====在27行
    	//3.对象赋值
    	$this->view->age = 25;
        return $this->view->fetch();//默认的 index@index/demo2
    }


    //模板过滤与替换
    public function demo3()
    {
    	//tp51之前,直接删除了替换功能,采用config/template.php进行配置
    	
    	//将模板中的‘好好学习,天天向上’ 替换成 ‘加油!!!’
    	$this->view->name = '好好学习,天天向上';//通过对象赋值
    	$this->view->age = 20;

        // $filter = function($content){
        // 	return str_replace('好好学习,天天向上','加油!!!',$content);

        // };

    	// echo $this->view->filter($filter)->fetch();   //过滤相当于删除,在第二个参数不赋值就行了
    	echo $this->view->filter(function($content){
        	return str_replace('好好学习,天天向上','加油!!!',$content);

        })->fetch();
    }

运行实例 »

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



 模板动态布局与模板继承技术:

实例

 //模板布局
    public function demo4()
    {
    	/**
    	 * 一、全局配置   相当于给所有的模板都默认的添加了头和底部
    	 * 1.config/template.php
    	 *
    	 *
    	 * 二、模板标签进行配置   选择性的添加头和底
    	 * 1.不依赖于全局配置,在模板中直接用标签进行控制
    	 * 2.{layout name="布局模板名"}
    	 * 3.关闭布局:{__NOLAYOUT__}
    	 *
    	 *
    	 * 三、动态配置
    	 * 1.不需要在模板配置文件中进行任何配置、
    	 * 不需要在当前模板中添加任何标签
    	 */
    	
    	//开启布局
    	// $this->view->engine->layout(true);
    	// $this->view->engine->layout('layout','{__HAPPY1__}');//第一个参数是 布局模板名  第二个参数是 布局模板里的空位

    	//关闭布局
    	// $this->view->engine->layout(false);
    	 
    	// 开启布局的链式操作
    	
    	return $this->view    //调用视图对象
    	            ->engine   //模板引擎对象
    	            ->layout(true)   //开启模板布局
    	            ->fetch('index\demo4');  //渲染模板,至少要给到控制器级别
    }


    //模板继承
    public function demo5()
    {
    	/**
    	 * 1.view/base.html:基础模板,供其他子模板进行继承
    	 */
    	
    	return $this->view->fetch();
    }
 
}

运行实例 »

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

demo5:

实例

{extend name="base" /}

{//将父模板中的main区块进行重写}
{block name="main"}
    <h3 style="text-align: center;">我是子模板的网站的主体部分</h3>
{/block}



{block name="age"}
    {__block__}今年我已经满了25岁啦!!!
{/block}

{//删除基模板中的值,也就是在子模板中不赋值为空,要对应区块}
{block name="name"}{/block}

{//在子模板中凡是写在了block之外的内容全部忽略,基模板中没有这个区块,在子模板中写上也没用}
<a href="">我是子模板中的。。。</a>

运行实例 »

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


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post