Hi, BeNuts!

BeNuts 程序官方博客

 

BeNuts 模板设计指南第二节——模板配置

作者: uonun 发表时间: 2008-10-19 0:16:42
永久链接: http://udnz.com/Article/BeNuts_Theme_Guild_2.aspx

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.

  • * 姓名(Name)
  • E-mail 或网站网址。支持基于 E-mail 的 Gravatar 头像。
  • * 验证码 看不清?点击换一个!