BeNuts 模板设计指南第二节——模板配置
BeNuts 博客系统的模板引擎需要一个模板配置文件。
它是一个 xml 文档,用于控制页面数据模块、配置数据单元参数。其具体位置为:站点根目录/App_Themes/模板文件夹/Theme.config
这个配置文件拥有一个<Template>根节点,其 name 属性用于显示该模板的名称。
<Template>下有若干个必需的<Execute>节点,它们用于控制各页面的数据输出。
| //Template/Execute/@name | 备注 |
|---|---|
| default | 首页 |
| article | 日志正文页面 |
| class | 指定分类的日志列表页面 |
| recommend | 推荐日志列表页面 |
| archive | 存档页面 |
| search | 搜索结果页面 |
| tag | 含有指定标签的日志列表页面 |
| taglist | 标签列表页面 |
| feeds | 订阅页面 |
每个<Execute>节点下有若干个<Module>节点,它们表示这个页面要输出的数据模块。<Execute>节点下可选用的 Module 有:
| //Template/Execute/Module | 备注 | 可用性 |
|---|---|---|
| ArticleListXml | 普通日志列表(分页) | |
| RecommendArticleListXml | 推荐日志列表 | |
| TopArticleXml | 置顶日志列表 | |
| RelatedArticleListXml | 当前日志的相关文章 | 仅用于 Execute/article |
| FriendlinkXml | 友情链接 | |
| ClassArticleListXml | 分类日志列表(分页) | |
| CommentTopNXml | 最新评论 | |
| ClassListXml | 日志分类列表 | |
| ArchiveListXml | 日志存档列表 | |
| AnnouncementXml | 博客公告 | |
| ThemeListXml | 模板选择 | |
| StatisticsXml | 网站统计数据 | |
| ArticleXml | 当前日志正文信息 | 仅用于 Execute/article |
| ArticleCommentListXml | 当前日志的评论列表 | 仅用于 Execute/article |
| ArticleTrackbackListXml | 当前日志的引用列表 | 仅用于 Execute/article |
| SearchedArticleListXml | 关键字搜索结果 | 仅用于 Execute/search |
| TagListXml | 标签列表 | |
| TagArticleListXml | 当前标签的日志列表 | 仅用于 Execute/tag |
<Template>下有一个<Arguments>节点,其下有若干必需的配置节点,它们用于确定各数据模块的参数。
| //Template/Arguments/ | 必需参数 |
|---|---|
| ArticleListXml | classId、pageSize |
| RecommendArticleListXml | classId、pageSize |
| TopArticleXml | classId、isOnlyFirstPage |
| RelatedArticleListXml | topN |
| FriendlinkXml | topN |
| ClassArticleListXml | pageSize |
| CommentTopNXml | topN、len |
这些参数的含义如下:
| 参数 | 释义 |
|---|---|
| classId | 所属分类 ID,-1 表示所有日志,0 表示未选择分类的日志。 |
| pageSize | 每页记录数 |
| isOnlyFirstPage | 针对于有翻页的页面,是否只是第一页显示。1 表示只有第一页显示,0 表示每个分页均显示。 |
| topN | 列出的最大记录数。 |
| len | 过长评论的截断长度。超过此长度的文字将被截断不显示。 |
下面是 Theme.config 的简单结构示意:
<?xml version="1.0" encoding="utf-8" ?> <!-- 详细配置方法请参考:http://www.udnz.com/Article/BeNuts_Theme_Guild_2.aspx --> <Template name="Default"> <Execute name="default"> <Module>TopArticleXml</Module> <Module>ArticleListXml</Module> <Module>AnnouncementXml</Module> <Module>ClassListXml</Module> <Module>CommentTopNXml</Module> <Module>FriendlinkXml</Module> <Module>StatisticsXml</Module> <Module>ThemeListXml</Module> </Execute> <!-- 其他需要的 Execute 模块略--> <Arguments> <ClassListXml /> <AnnouncementXml /> <!-- 首页日志列表: classId 所属分类 ID,-1 表示所有日志,0 表示未选择分类的日志。 pageSize 每页记录数 --> <ArticleListXml classId="-1" pageSize="6" /> <!-- 推荐日志列表: classId 所属分类 ID,-1 表示所有日志,0 表示未选择分类的日志。 pageSize 每页记录数 --> <RecommendArticleListXml classId="-1" pageSize="8" /> <!-- 置顶日志: classId 所属分类 ID,-1 表示所有日志,0 表示未选择分类的日志。 isOnlyFirstPage 针对于有翻页的页面,是否只是第一页显示。1 表示只有第一页显示,0 表示每个分页均显示。 --> <TopArticleXml classId="-1" isOnlyFirstPage="0" /> <!-- 相关文章: topN 列出的最大文章数 --> <RelatedArticleListXml topN="15" /> <!-- 友情链接: topN 列出的最大链接数 --> <FriendlinkXml topN="15" /> <!-- 分类日志列表: pageSize 每页记录数 --> <ClassArticleListXml pageSize="6"/> <!-- 最新评论模块: topN 显示的评论条数,此数字不能小于 1。(若不想显示最新评论,则取消此模块的调用即可。) len 过长评论的截断长度 --> <CommentTopNXml topN="8" len="100" /> </Arguments> </Template>


No comment for this post.