witrix平台中的tpl模板技术的重点在于标签定义的设计, 在于如何最大限度的发挥xml格式的表达能力。
tpl自定义标签的基本结构如下:
<Namespace:TagName tpl:tag="realTagName"
tpl:noborder="${booleanExprInCompileContext}"
tpl:ignore="${booleanExprInCompileContext}"
attrName="stringOrExpression" cp:attributeInCompileContext="atringOrExpression"
OtherNamespace:OtherAttrName="stringOrExpression"
>
bodyContent
</NameSpace:TagName>
自定义标签总是处在某一名字空间中, tpl名字空间中的属性由tpl编译器负责进行解析并处理,
而cp名字空间中的属性在编译期能够访问,其他名字空间的属性被完全忽略,
一般只有decorator会识别这些属性(例如cache:timeout).所有无名字空间的属性都相当于是自定义标签的调用参数,在标签运行的时候
可以在标签内部访问到。
tpl通过对namespace的使用, 避免了系统属性, decorator属性与普通标签属性之间的相互干扰, 这与JSF和Tapestry都是不同的。
tpl:tag属性指定此标签在编译时对应的真实标签名,
即编译期会识别RealTagName而不是Namespace:TagName。tpl:noborder为true的时候相当于是直接编译
bodyContent, 例如用来在编译期控制是否在界面上使用某种边框。
tpl:ignore为true的时候,此标签将被忽略而不会被编译。
bodyContent在编译期成为tagBody变量, 由自定义标签自己决定如何处理,
这种方式比FreeMarker的<#nested>机制要灵活和强大的多. 例如在标签内部我们可以使用<cp:compile
src="${tagBody}" /> 这等价于 FreeMarker的<#nested>. 也可以使用
<cp:compile
src="${tagBody.existingChild('header')}" />从bodyContent中取出header子节点.
甚至我们可以对tagBody进行加工之后再进行编译.
分享到:
相关推荐
>`标签来包围PHP代码块,但为了减少HTML中的PHP标记,tmd_tpl提供了自定义的短标签,如`{{`和`}}`用于输出变量,`{%`和`%}`用于控制结构,如循环和条件判断。这样的设计使得模板更接近HTML,提高了可读性。 2. **...
1. **引入库**:在HTML文件中,通过`<script>`标签引入`tpl.js`库。 2. **编写模板**:在HTML模板文件中,定义包含占位符的结构,比如`${message}</p>`。 3. **准备数据**:创建一个JavaScript对象,包含与模板相关...
- **模板文件(.tpl)**:包含HTML结构和特殊的标签,用于动态数据的插入。 - **配置文件(profile.xml)**:存储关于模板引擎的基本配置信息,如缓存路径、编译文件位置等。 2. **实现步骤**: - 创建模板文件...
在Drupal框架中,`page-tpl.php`是构建网站页面的主要模板文件之一,它定义了页面的基本结构和布局。为了更好地理解和利用这个模板,本文将详细介绍`page-tpl.php`中可用的各种变量及其功能。 #### 一、页面基本...
【标签】"前端项目"表明这是一个针对Web前端的开发实践,涵盖了用户界面、交互逻辑以及数据绑定等多个方面。在现代前端开发中,这样的项目通常会涉及HTML、CSS、JavaScript以及各种框架和库的集成,旨在提供优秀的...
4. 自定义标签:为了进一步提升模板的可扩展性,tmd_tpl可能会提供自定义标签功能,允许开发者定义自己的标签结构,如`{tagname attr1="value" attr2="value"}...{/tagname}`。 三、tmd_tpl的安装与使用 1. 安装:...
1. 自定义标签:tmd_tpl可能支持自定义的模板标签,比如`{foreach}`、`{if}`等,以增强可读性和易用性。 2. 变量插值:通过特定语法(如`{$var}`)在模板中插入PHP变量的值。 3. 控制结构:提供条件语句(如`{if......
4. 可扩展:支持自定义标签和函数,满足不同项目的定制需求。 5. 与PHP无缝集成:tmd_tpl是纯PHP编写,与PHP环境兼容性好,无需额外依赖。 三、tmd_tpl的常用语法 1. 输出变量:`{$var}`,将变量$var的值插入到...
5. **易于维护**:通过清晰的代码结构和良好的文档,tmd_tpl可能有助于团队协作和项目维护。 在实际开发中,tmd_tpl的使用流程大致如下: 1. **安装集成**:将tmd_tpl库引入到PHP项目中,可以通过Composer等依赖...
标签“C”表明tpl库是用C语言编写的,这意味着它可能具有C语言的特点,比如直接内存操作、低级控制和高性能。同时,这也意味着使用tpl库的开发者需要对C语言有深入的理解,以便有效地利用其功能。 **文件名称列表...
该引擎可能包含了一系列核心功能,如变量插值、控制结构(循环和条件判断)、函数调用等,以及可能的自定义标签和过滤器,以满足开发者在项目中的各种需求。 PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发,...
标签“Python库”说明了dj-qiyu-tpl是一个Python编程语言的库。Python库是由一系列预先编写好的函数和类组成,可以被导入到Python项目中,以实现特定功能或简化开发工作。开发者通常会创建并发布自己的库来解决特定...
这样的系统设计有利于提高开发效率,简化页面结构,同时也为网站的安全性提供了基础保障。在实际开发过程中,开发者需要熟练掌握这些标签和模板语言的使用,以便更高效地进行网站前端开发和维护。
以上标签的使用可以帮助开发者高效地构建Jeecms网站,提供丰富的功能,如页面结构组织、内容展示和链接导航等。理解并熟练运用这些标签,能够极大地提升开发效率,同时让网站更具动态性和灵活性。
JSP 自定义标签是 JSP 技术的一个重要组成部分,它允许开发者创建可复用的组件,简化代码结构并提高开发效率。 #### 二、自定义标签的意义 自定义标签允许开发者将经常使用的功能模块化,并以易于理解的方式呈现...
2. 页面模板包含标签:`[#include "../include/header_register.html"/]` 这个标签用于在当前模板中包含其他HTML或JSP文件,通常用来复用和组织页面结构,比如头部、底部等公共部分。 3. 常用链接地址:`${base}/...
我一直坚持xml是人机共享的信道, 应该是人与机器都能够... 在witrix平台的配置文件中, 我们大量使用了tpl模板技术, 通过tpl的自定义标签机制对外提供一些Domain Specific的功能标签, 大大增强了xml标签的语义表达能力.
`TPL_ADVBANNER`可能指的是广告横幅或促销区域的模板标签,可以自定义展示广告或活动信息。 2. **页面结构**:文件名中包含的`.dwt`表示Dreamweaver模板文件,ShopEx的页面结构由多个这样的文件组成。例如,`...