EZ Publish/EZ Publish 模板重设系统

来自站长百科
跳转至: 导航、​ 搜索

EZ Publish | EZ Publish安装与卸载 | EZ Publish的使用 | EZ Publish常见问题 | EZ Publish其他

EZ Publish 模板重设[ ]

模板重设系统允许用自定义的模板替换默认模板。理论上,这种机制允许对系统内任何模板(包括通过"include"函数与"design:"前缀引入的模板)进行重设。要以不同方式显示不同节点时,模板重设就变个很有用。

一个视图模板的重设通常由一组重设条件触发。如果条件匹配,系统会用重设模板替换原始模板。不同的视图支持不同的重设条件,某些视图不提供重设条件。"content"模块的"view"视图提供的重设条件最为灵活(在显示节点时使用)。下图演示了重设机制如何被嵌入系统的其余部分。

EzpublishMBCSXT1.jpg

模板重设必须在站点入口的"override.ini.append.php"中定义。这个文件有重设块构成。一个重设块是一组告知eZ Publish 在某种特殊条件下使用某个重设模板的规则。没个重设块有一个唯一的名称。对于一个重设块,以下信息必须被设置:

• 一个唯一的名称

• 被重设的原始模板

• 重设模板

• 重设模板所在目录名称(通常为"templates")

• 一组触发重设模板的条件/规则


注意:规则/条件是可选的。如果没有指定规则,这个重设会一直有效。

下图演示了一个典型的模板重设场景。

EzpublishMBCSXT2.jpg

上列定义了一条重设"special_folders"。这条重设在系统用"full"视图模式显示某个节点时会被使用。这条重设只有在节点的类为文件夹类且属于section 34 才会被激活。当重设被激活时,系统会使用重设模板("override/templates/special_folder.tpl",在主界面中)。如果eZ Publish 在主界面中找不到这个模板,它会在附加界面和标准界面中继续搜寻。多重/冲突重设重设的优先级是由它们在配置文件中的位置决定的。如果有多条规则类似/等价的重设,eZ Publish 会使用最上面的一条,因而其余重设会失效。因为这个缘故,由节点ID 或对象ID 出发的重设应被放在最上面,否则他们可能永远都不会被触发,因为具备更一般规则的重设会因为位于靠前的位置而有更高的优先级。

EZ Publish重设示例[ ]

下例演示了如何利用模板重设系统在不同条件下显示不同模板。

假设我们有一个简单的节点树。它由两个文件夹构成:"News"和"Products"。"News"文件夹包含新闻文章,"Products"文件夹包含商品。下图演示了这个节点树。

EzpublishMBCSXT3.jpg

没有任何重设时,eZ Publish 很可能会用同一个模板显示所有节点。这可能是standard 界面中的默认的"full"视图模式模板。然而,我们希望的是用不同模板显示不同节点。我们可能希望系统以下面的方式工作:

• 访问"My site"节点时,显示一个特殊的"welcome"模板。

• 访问文件夹时显示一个自定义文件夹模板

• 访问新闻文章时,显示一个自定义新闻文章模板

• 访问商品时,显示一个自定义的商品模板

上述需求可以通过创建几条重设来达到。"welcome"页面应该用"My site"节点ID 来触发。其余的模板可以用类标识符来触发。下例演示了"override.ini.append.php“文件的内容:

# Override for welcome page
[welcome_page]
Source=node/view/full.tpl
MatchFile=my_welcome.tpl
Subdir=templates
Match[node]=2
# Override for folders
[my_folder]
Source=node/view/full.tpl
MatchFile=my_folder.tpl
Subdir=templates
Match[class_identifier]=folder
# Override for articles
[news_articles]
Source=node/view/full.tpl
MatchFile=my_article.tpl
Subdir=templates
Match[class_identifier]=article
# Override for products
[products]
Source=node/view/full.tpl
MatchFile=my_product.tpl
Subdir=templates
Match[class_identifier]=product

重设模板应该被放置在主界面的"override/templates"目录下。下图演示了可能的目录结构,假设主界面为"example"。

EzpublishMBCSXT4.jpg

当系统运行时,不同的重设会根据实际的条件被触发。下图演示了哪里/何时不同的重设会被触发。

EzpublishMBCSXT5.jpg

参考来源[ ]

EZ Publish使用手册导航

EZ Publish安装卸载

EZ Publish正常安装 | EZ Publish手动安装 | EZ Publish自动安装 | EZ Publish安装向导 | EZ Publish虚拟主机设置 | EZ Publish使用扩展 | EZ Publish的卸载

EZ Publish的使用

模板使用:

EZ Publish节点模板 | EZ Publish系统模板 | EZ Publish Pagelayout页头信息 | EZ Publish Pagelayout变量 | EZ Publish 模板注释 | EZ Publish 模板变量类型 | EZ Publish 模板变量用法 | EZ Publish 调查数组和对象 | EZ Publish 模板控制结构 | EZ Publish 函数与操作符 | EZ Publish URL处理 | EZ Publish 内容提取 | EZ Publish 模板重设系统
系统功能: EZ Publish 系统记帐 | EZ Publish 策略功能 | EZ Publish 多语言使用(一) | EZ Publish 多语言使用(二) | EZ Publish 集群的使用 | EZ Publish 安装包的使用 | EZ Publish Cronjob脚本的使用 | EZ Publish 多货币功能 | EZ Publish 通知功能
其他功能: EZ Publish 增值税(VAT)系统 | EZ Publish 改进的商品配送系统 | EZ Publish 多语言URL别名 | EZ Publish 登录后高级重定向 | EZ Publish 检索引擎 | EZ Publish WebDAV | EZ Publish 视图缓存

EZ Publish常见问题

EZ Publish 安装常见问题 | EZ Publish 使用常见问题

EZ Publish其他

EZ Publish内部结构 | EZ Publish内容与界面 | EZ Publish内容管理(一) | EZ Publish内容管理(二) | EZ Publish配置模型 | EZ Publish模块与视图 | EZ Publish URL 翻译 | EZ Publish 界面 | EZ Publish访问控制 | EZ Publish网络商店 | EZ Publish工作流