Smarty 模板布局继承
Smarty 模板继承
在覆盖父模板的{block}块以外的地方, 子模板不能定义任何内容。任何在{block}以外的 内容都会被自动忽略。
在子模板和父模板中的{block}内容,可以通过 append 和 prepend来进行合并。 {block}的选项,和 {$smarty.block.parent} 或 {$smarty.block.child}会持有这些内容。
布局继承使用特点
1.布局页面可以有许多{block},子级页面也可以有许多block,他们通过name属性进行关联
2子级页面除了{extend} 和{block}其它内容不给显示,
3布局页面的{block}可以有默认内容,子级页面不实现就直接显示,实现覆盖
4布局的{block}可以彼此嵌套,子级实现可以有针对性实现
5{$smarty.block.child}布局可以调用子级内容
{$smarty.block.child}子级页面可以调用父级页面内容
父模板
<html>
<head>
<title>{block name=title}默认页面标题{/block}</title>
{block name=head}{/block}
</head>
<body>
{block name=body}{/block}
</body>
</html>
子模板
{extends file='layout.tpl'}
{block name=head}
<link href="/css/mypage.css" rel="stylesheet" type="text/css"/>
<script src="/js/mypage.js"></script>
{/block}
孙模板
{extends file='myproject.tpl'}
{block name=title}我的页面标题{/block}
{block name=head} <link href="/css/mypage.css" rel="stylesheet" type="text/css"/> <script src="/js/mypage.js"></script> {/block}
{block name=body}我的HTML页面内容在这里{/block}
显示上面的模板
$smarty->display('mypage.tpl');
页面将输出
<html> <head>
<title>我的页面标题</title>
<link href="/css/mypage.css" rel="stylesheet" type="text/css"/>
<script src="/js/mypage.js"></script>
</head>
<body>
我的HTML页面内容在这里
</body>
</html>
Smarty 模板布局继承的更多相关文章
- 五、smarty模板继承特性
1.如何去实现模板之间的继承 继承是发生在模板之间的事,和PHP程序没有关系的 方法一: 在模板中使用<{extends}>函数实现模板的继承 <{extends file=”模板文 ...
- Smarty模板技术学习(二)
本文主要包括以下内容 公共文件引入与继承 内容捕捉 变量调剂器 缓存 Smarty过滤器 数据对象.注册对象 与已有项目结合 公共文件引入与继承 可以把许多模板页面都用到的公共页面放到单独文件里边,通 ...
- 12月15日下午Smarty模板函数
1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...
- Smarty模板函数
1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...
- Smarty模板引擎技术二
Smarty模板引擎技术 内建函数 include_php内建函数 作用:载入一个php文件,将载入的文件的内容赋值给一个变量 注意:该内建函数只能在2.0中使用,如果使用的话,必须得实例化Sma ...
- 前端学PHP之Smarty模板引擎
前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进. ...
- python---django中模板布局
对于页面大部分一样,我们可以使用模板布局来简化 可以查看tornado中的模板引擎,基本一致 python---tornado模板引擎 对于相同代码部分,我们可以提取出来,放在布局文件layout.p ...
- Smarty 模板引擎简介
前言 Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一.它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑 ...
- PHP之Smarty模板引擎
前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进. ...
随机推荐
- 【RF库Collections测试】Convert To List
Name:Convert To ListSource:Collections <test library>Arguments:[ item ]Converts the given `ite ...
- Python MySQLdb 模块
MySQLdb 是 Python2 连接 MySQL 的一个模块,常见用法如下: [root@localhost ~]$ yum install -y MySQL-python # 安装 MySQLd ...
- linux系统输入法设置
首先是要安装了中文输入法,下面以搜狗为例. 2 从system settings 进入language support ,在keyboard input method system 中是看不到自己安装 ...
- imx6ul开发板
Feescale飞思卡尔于发布全新的基于ARM Cortex-A7核心的低功耗处理器i.MX6UL,主要面向车载信息处理.家庭能源管理系统.工控领域.物联网网关等应用.具有可扩展性.高性能和低功耗特性 ...
- 说说FATFS文件系统(转)
FATFS是一个为小型嵌入式系统设计的通用FAT(File Allocation Table)文件系统模块.FatFs 的编写遵循ANSI C,并且完全与磁盘I/O层分开.因此,它独立(不依赖)于硬件 ...
- stl中的map经验
如果想使用一个map临时变量装载参数map,不需要使用new创建一个对象. 声明一个变量,直接赋值就可以.map内部自己重载了=操作符,会自己分配内存.
- 谷歌Volley网络框架讲解——第一篇
自从公司新招了几个android工程师后,我清闲了些许.于是就可以有时间写写博客,研究一些没来的研究的东西. 今年的谷歌IO大会上,谷歌推出了自己的网络框架——Volley.不久前就听说了但是没有cl ...
- LNMP redis 安装、PHPredis扩展配置、服务器自启动、redis认证密码
背景: LNMP 环境(centos7) 一. 安装redis 1.下载,解压,编译 $ cd /usr/local$ wget http://download.redis.io/releases/r ...
- Linux应急响应思路详谈
一.主机篇: 1.自动化初筛,建议使用RootkitHunter (1)安装 $sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/ ...
- oracle的with as用法
转自:https://www.cnblogs.com/linjiqin/archive/2013/06/24/3152667.html with as语法–针对一个别名with tmp as (sel ...