站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
EZ Publish/EZ Publish 视图缓存
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
== [[EZ Publish]] 视图缓存简介 == [[缓存]]是一种广泛使用的技术,它将经常使用的信息保留在临时的高速存储介质中来提高系统的性能。当原始数据的提取或计算/生成相对于存取缓存所需的系统开销很大(通常指访问时间)时,缓存的效用会非常明显。一旦数据被保存在缓存中,之后可以直接从缓存中提取而不需要重新从系统中提取或重新计算原始数据,因此平均访问时间会比较低。 eZ Publish 内建了功能强大的缓存机制,它可以改善系统的性能。本条目阐述了eZ Publish 缓存系统的重要部分,这部分被成为“内容视图缓存”(简称“视图缓存”)。这种机制只对content 模块的"view"和"pdf"视图有效。 '''节点视图缓存''' 这节描述了当节点被访问时,视图缓存是如何被生成的。 当eZ Publish 被请求输出关于一个节点的信息时(通过系统[[URL]] 或[[虚拟URL]]),它会执行与"content"模块的"view"视图相关的[[程序]]代码。执行结束后,视图将结果返回给模块,模块负责将结果返回给系统的其余部分。eZ Publish 会自动生成一个称为"module_result"的数组,它包含包含了以下信息:运行的哪个模块,执行的哪个视图,视图的输出结果等等。视图的实际输出内容(例如:通过某个节点模板生成的[[XHTML]] 代码)被设置为"$module_result.content"并且通过以下代码在pagelayout 中显示: '''{$module_result.content}''' 当pagelayout 被生成时,{$module_result.content}部分会被实际的输出替换。如果视图缓存被启用,模块的完整结果会被缓存。这意味着"module_result"变量的内容会被存入"var/example/cache/content"目录("example"由"site.ini"重设文件中的"VarDir"设置)中的一个缓存文件。 请注意,eZ Publish 会根据角色和用户偏好设置为一个节点创建多个视图缓存。这意味着,例如:对于不同用户(已经登录,且具有不同的权限/偏好设置)会被提供不同的缓存,而匿名用户或有相同权限和用户偏好设置的会被分别提供相同的缓存。换言之,当启用视图缓存时,"content"模块的"view"视图只有在系统不能定位一个缓存文件才会被执行,否则缓存的内容会被直接嵌入pagelayout。请注意pagelayout默认情况下不会被缓存。 另外一个需要注意的问题是,视图缓存还依赖其它参数。例如: • 视图模式 • 语言 • URL 中的视图参数 • Layout(例如:'print' layout 会使用不同的缓存文件) • 其它 '''例''' 假设节点46 对应“关于我们”页面并且自定义的模板"aboutpage.tpl"对这个特殊节点重设了默认的"node/view/full.tpl"。 现在虚拟URL "<nowiki>http://www.mysite.com/company/about</nowiki>"和系统URL“<nowiki>http://www.mysite.com/content/view/full/46</nowiki>”都指向这个页面。当访问它们中的某个URL 时,系统会执行"content"模块的"view"视图并使用"46"作为节点[[ID]],"full"作为视图模式。包含“关于我们”信息的XHTML 结果会由"aboutpage.tpl“生成。输出会被设置到"$module_result.content"并随后被嵌入pagelayout 中。 如果视图缓存对"full"视图模式启用,模块的完整内容会被报存在一个缓存文件。每个缓存文件有一个类似于"46-122bc591bf62e87a4e9ddcb5ba352bc4.cache"的很长的文件名。下一次访问关于我们页面时,系统不会执行"content"模块的"view"视图,而是会直接从缓存文件中装载内容。 '''$node 变量''' 在eZ Publish 3.9 之前的版本中,在启用视图缓存被禁用时,"$node"变量可以在pagelayout 中使用。从3.9 版本开始,无论是否启用视图缓存,这一变量在pagelayout 中都不再可用。如果仍然需要访问当前节点,建议从$module_result 中取得需要的信息(例如:"$module_result.node_id"代表当前节点的ID)。 '''[[PDF]] 缓存''' 以下解释了当访问某个[[站点]]页面(内容节点)的PDF 版本时,视图缓存是如何生成的。注意,在eZ Publish4.0 中PDF 导出机制已经不再推荐使用并且会被从将来的发行版本中剔除。当eZ Publish 被请求生成一个节点的PDF 版本时,它会执行"content"模块的"pdf"视图对应的程序代码。系统会使用"pdf.tpl"提取实际的页面内容(节点[[封装]]的对象中的属性内容),然后使用"execute_pdf.tpl"生成PDF 文件。与节点视图缓存不同,系统不会把输出内容嵌入$module_result.content。这些默认的模板位于"standard"界面中的"templates/node/view"子目录。 如果为"pdf"视图启用缓存,PDF 文件会被缓存。这意味着系统会将实际PDF 的一份副本保存为"var/example/cache/content"("example"可以在"site.ini"重设文件中的"VarDir"设置)中的一个缓存文件。 '''例''' 如果节点46 是“关于我们”页面,则访问"<nowiki>http://www.mysite.com/content/pdf/46</nowiki>"会执行"content"模块的"pdf"视图。系统会生成关于我们页面的PDF 版本并将它显示给用户。如果为"pdf"视图启用视图缓存,结果PDF 文档会被缓存在一个文件中,例如"46-3579d18de31e99fc84d2d9a5f113c3be.cache"。请注意,这个文件可以用PDF 阅读器打开(某些情况下,需要将文件扩展名改为".pdf")。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)