站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
EZ Publish/EZ Publish节点模板
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{EZ Publish top}} 本条目的目的是讲授关于模板系统的一切基本知识。它描述了模板语言以及系统如何处理模板文件。之前不熟悉[[eZ Publish]] 的用户应该可以得到足够的信息来帮助理解如下问题: #模板是什么又不是什么 #模板类型([[pagelayout]],节点和系统模板) #模板结构 #模板语言 #主模板(pagelayout) #pagelayout 中可以使用的模板变量 #如何完成基本的模板任务 #如何从[[CMS]] 中提取信息 #模板重设系统 == 模板基础 == eZ Publish 把模板作为站点界面的基础单元。基本上模板是一个定制过的[[HTML]] 文件,这个文件描述了特殊类型的内容如何被显示。模板文件总是以".tpl"作为[[后缀名]]。 内建/默认模板中的HTML 代码符合[[XHTML]]1.0 Transitional 规范。除标准HTML 语法外,模板还由eZ Publish 特有的代码构成。eZ Publish 特有的代码允许模板从系统中提取信息并解决通用的编程问题如: 条件分支,循环等。所有eZ Publish 特有的代码必须被放置在一对大括号"{“和"}"中。下例演示了某个模板的一部分,用于显示当前系统时间。 <pre> ... <h1>Time machine</h1> <p> The current time is: {currentdate()|l10n( time )} </p> ... </pre> 上列演示了标注HTML 如何与eZ Publish 特有的代码混合在一起。演示了"currentdata"和"l10n"模板操作符的用法。因为"currentdata"返回一个UNIX 时间戳,它必须经过"l10n"本地化操作符[[格式化]](否则输出的数据无法被理解)。这是通过将"currentdata"的输出用管道操作符连接到"l10n",后者会根据当前区域设置来输出结果。"Time"参数告诉操作符只输出时间(它可以是"date","shortdate","datetime"等等)。 '''模板生成''' 模板系统基于组件。换言之,一个真实的HTML 页面通常由多个模板构成。至少,eZ Publish 总是生成主模板,称为pagelayout。pagelayout 由HTML,HEAD 和BODY 标签构成;它决定了站点的全局版式。除了其他外特性外,它描述了系统所有HTML 页面的全局视觉结构(主版式,[[logo]],主菜单,页脚,等等)。 每个[[客户端]]的请求告诉eZ Publish 运行特性的模块并执行模块的某个视图。当执行结束后,请求的模块/视图组合会生成一个结果。这个结果可以在pagelayout 中通过$module_result [[数组]]访问。下图演示了一个3 步的流程来解释eZ Publish 如何回应一个HTTP 请求。 [[Image:ezpublishJDMB1.jpg]] 每个视图会用一个模板生成一段HTML 代码。被视图使用的模板通常被称为“视图模板”。每当一个视图执行结束后,它会调用一个内部模板请求。被请求的模板会被解释,处理然后被转换为HTML。处理之后,系统会把结果的HTML 放入模块的结果数组中。模块/视图的结果可以用".content"来访问: {$module_result.content}。通过显示这个变量的内容,可以在pagelayout 中包含视图生成的HTML 内容。下图演示了模块/视图结果(由不同的模块/视图生成-取决于不同的请求)如何被包含到pagelayout 中。 [[Image:ezpublishJDMB2.jpg]] '''视图模板''' 被视图使用的模板可以是一个节点模板或是系统模板。节点模板只有在一个节点被显示时,才会被用到,例如:当一个包含"conent/view"的系统URL 或一个节点的虚拟[[URL]] 被请求。系统模板通常用来提供调用eZ Publish 某个特定特性的HTML 接口。例如:被"content"模块的"search"视图使用的模板提供了调用系统内建的检索引擎的接口。 上述模板类型间的区别在于模板中可以使用的变量和可用的重设规则组合。在节点模板中有一个特殊变量($node),这个变量包含了当前被显示的节点的信息。取决于被执行的视图,系统模板中通常会有一些可用变量。模板重设规则允许在特定条件下使用自定义模板。节点模板的重设规则比系统模板的规则要灵活很多。例如:可以设定复杂的重设规则组合来通过节点的类型,节点树的深度,节点对象所在的分区等条件来决定所用的节点模板。请参阅“[[EZ Publish/EZ Publish 模板重设系统|EZ Publish 模板重设系统]]”了解更多关于模板重设系统的信息。 == 节点模板 == 任何时候,当eZ Publish 被要求输出某个节点的信息时(通过系统URL 或虚拟URL),它都会执行"content"模块的"view"视图。如果使用系统URL,视图模式和目标节点必须在URL 中指定。如果使用虚拟URL,eZ Publish 会通过查阅内部的URL 表来得知应该使用什么视图模式以及显示哪个节点。当使用虚拟URL 时,系统总是会使用"full"视图模式。服务于不同视图模式的模板必须被放置在某个界面的"templates/node/view/"目录中。如果在主界面中没找到所需模板,系统会在附加和标准界面中搜索。"standard"界面中的"templates/node/view"目录包含了不同视图模式的模板。一个最基本的自定义界面通常会包含pagelayout 和一个"full"视图模板。下图演示了一个称为"example"的自定义界面中上述文件的位置。 [[Image:ezpublishJDMB3.jpg]] 当节点被请求(且没有针对节点模板的模板重设规则)时,eZ Publish 将会生成一个由以下模板构成的页面。 [[Image:ezpublishJDMB4.jpg]] '''自定义节点模板''' 典型的eZ Publish 站点总是会用到自定义节点模板。主要的原因在于,用户总会希望用不同的方式显示不同的内容。例如:信息页会与新闻页有所不同;欢迎页面需要有特殊的格式等等。不同于自定义系统模板(基本上是复制一份系统模板到自定义界面,然后做适当调整),自定义节点模板被创建为重设模板。重设模板被模板重设系统触发。系统提供了灵活的机制来根据不同条件使用不同的模板。例如:它可以被配置为在显示一个文章类节点时,使用"article.tpl",而在显示某个特殊的文章节点时,使用"spacical.tpl“。请参阅“[[EZ Publish/EZ Publish 模板重设系统|EZ Publish 模板重设系统]]”了解更多关于这种机制如何运作以及如何出发重设系统的信息。 '''$node 变量''' 任何时候当系统使用节点变量时(无论使用何种视图模式,目标节点是什么还是模板是重设模板与否),$node 变量在模板中总是可用。这个变量是系统自动设置的且它包含一个"ezcontentobjecttreenode"对象(此处的对象指的是[[PHP]] 语言的对象,而不是内容对象)来代表当前显示的节点。从这个变量中可以提取并显示各种关于节点以及节点封装的内容对象的信息。 ==参考来源== *http://wenku.baidu.com/view/8cf795b665ce05087632138a.html *http://ez.no/eZPublish/New-Release [[category:EZ Publish|E]] {{EZ Publish}}
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:EZ Publish
(
编辑
)
模板:EZ Publish top
(
编辑
)