动态网站的帮助和使用

大夫网 大夫博客 大夫社区 大夫会员  SITEMAP
管理台  首页  全部文章  论坛  
  问题和解答  动态网站使用技巧  常见问题  动态网站技术维护文档  动态网站新闻通讯  模板使用帮助  动态网站后台管理  自助建站帮助文件
当前位置:博客首页>> 模板使用帮助>> 模板编写对象访问语法简介
模板编写对象访问语法简介
发表:(2005-10-21 04:02);  最后修改:2007-03-08 05:06; 
作者:;  【阅读:3656】  留言】 【繁體

注释语法:<%-- (sajkfhkjshfkjsfh,注释内容) --%>    

一、动态对象访问方法

1.self:动态网站自身的对象属性;
语法:
操作符和参数可选;属性:
name; 网站的ID;
chn;网站的中文名称;
title; 网站的网页标题;
meta;网站的网页标签(页元);
keywords;网站的关键词定义;
intro;网站的简介;

例子:动态网站的帮助和使用 (输出网站的名称) 带参数:1175222852922 (按指定格式输出网站的发布日期)2.label集合;
语法:${lable.lableID.属性名称.[操作符(参数1<参数值1>;参数2<参数值2>……)].……}
操作符和参数可选;

属性:
id :标识唯一性的数字
name :ID
chn : 中文名称;
value :一段文本;
ename :英文名称
remark:注解

示例:添加属性模板,发布:

如:http://blog.daifumd.com/dochome/domains/dudu.com/

2.text集合;
语法:
操作符和参数可选;
属性:
id :标识唯一性的数字
name :ID
chn : 中文名称;
ename :英文名称
topic :标题;
content :内容
digest:摘要
remark:注解
url :访问网址;

示例:添加单页示例模板,发布:

例:http://blog.daifumd.com/dochome/domains/dudu.com/texts/text_29.htm

4.advers集合
语法:
操作符和参数可选;

属性:
id :标识唯一性的数字
name :ID
chn : 中文名称;
ename: 英文名称
topic :标题;
codes :代码
remark:注解
url :目标访问网址

5.cate集合
语法:
操作符和参数可选;
对于当前的cate可以使用this关键字代替ID,即${cate.this.属性名称}

属性:
id :标识唯一性的数字
name :ID
chn : 中文名称;
ename: 英文名称
title: 网页标题;
meta: 页元标签
keyword: 关键词
intro :简介;
introduction: 详细介绍
rows:行数;

例子:添加栏目示例模板:

如:http://blog.daifumd.com/_daifumd/dochome/domains/dudu.com/cates/cate_10.html

6.image集合
语法:
操作符和参数可选;

属性:
id :标识唯一性的数字
name :ID
chn : 中文名称;
ename: 英文名称
size: 图片大小;
path: 路径
filename: 文件名
url: 网址;
remark: 简介;


二、当前对象标签
当发布时存在着当前对象时,可以使用当前对象访问内部对象属性,当前对象可能有:单篇文章,当前分类,或当前文本;1.当前article
语法:${article.[操作符(参数1<参数值1>;参数2<参数值2>……)].……}
操作符和参数可选;

属性:
id: 唯一性编号,可作为排列依据
topic: 题目;
alias: 作者名称
author: 作者
pubdate: 发表时间,可作为排列依据;
alterdate:修改时间,可作为排列依据;
content: 内容
src: 来源;
publiisher: 发布人;
srcfrom: 来源
digest: 摘要

参看:属性示例模板并发布:
如:http://blog.daifumd.com/dochome/domains/dudu.com/


2.当前文本(text),使用this关键字代替ID
语法:${text.this.[操作符(参数1<参数值1>;参数2<参数值2>……)].……}
操作符和参数可选;
属性与访问text的方法相同:
示例:添加单页示例模板,发布:

例:http://blog.daifumd.com/dochome/domains/dudu.com/texts/text_29.htm

3.当前分类(cate),使用this关键字代替ID
语法:${cate.this.[操作符(参数1<参数值1>;参数2<参数值2>……)].……}
操作符和参数可选;
属性与访问cate的属性相同
例子:添加栏目示例模板:

如:http://blog.daifumd.com/_daifumd/dochome/domains/dudu.com/cates/cate_10.html

三、内容列表标签语法
列表标签常用参数:
id(必须),循环体内调用的循环对象句柄;
rows:列表的行数,如果是零或缺省,即把符合条件的记录全部列出;默认是全部列出;
ord: 列表排序方式,可以选择希望排序的属性,服从sql中的ordery by子句;如:ord="pubdate",相当于order by pubdate;如果是pubdate|desc 相当于order by pubdate desc
bgcolors:针对在列表中的颜色交替效果,格式如:"yellow,pink,#9966cc",在循环体中使用${bgcolor}读取

1.当前分类列表标签:
<cate:list id="循环体内对象名称" rows="行数" ord="排列选择" bgcolors="yellow,pink">
循环体 ${对象取值}; bgcolor="${bgcolor}"
</cate:list>

例:
获得news这个文章分类作为当前分类的列表,10行:
<cate:list id="theart" rows="10" ord="pubdate|desc">
${theart.topic}
</cate:list>
上述列表的意思是按发布时间最新排列取前十个,循环体中只列出对象(这里是文章,(和article读取方式相同))的题目;
例子:添加栏目示例模板:

如:http://blog.daifumd.com/_daifumd/dochome/domains/dudu.com/cates/cate_10.html

2.指定分类列表标签:
<list cate="分类ID" id="循环体内对象名称" rows="行数" ord="排列选择">
循环体 ${对象取值}
</list>

使用方式与cate:list相同,只是多了一个cate属性,用于指明是那一个分类
其他支持参数:
cate(可选),分类ID(NAME);如果没有则要求提供ent,如果ent也为空,默认是article类型。如果cate为空则提供该类型不分类别的内容列表;
ent(可选):列表对象类型;默认是article;如果cate不为空,本项就是不必要的,系统会自动以cate的类型作为ent;

例1:(假定类型aaa的内容类型是article)
<list cate="aaa" ent="article" id="theart" rows="行数" ord="排列选择">
循环体 ${theart.topic}
</list>
等同于:(从cate中取ent)
<list cate="aaa" id="theart" rows="行数" ord="排列选择">
循环体 ${theart.topic}
</list>

例2:(article不分类别的全列表)
<list ent="article" id="theart" rows="行数" ord="排列选择">
循环体 ${theart.topic}
</list>

上例等同于:(因为类型默认是article)

<list id="theart" rows="行数" ord="排列选择">
循环体 ${theart.topic}
</list>

2.指定分类类型列表标签:(article,adsinfo,product)
<list cate="分类ID" id="循环体内对象名称" rows="行数" ord="排列选择" contentype="分类类型">
循环体 ${对象取值}
</list>
参考:
http://www.daifumd.com/_daifumd/dochome/domains/dudu.com/texts/text_27.htm

四、集合迭代标签
这种标签用于迭代全部已知集合类型对象的标签,目前支持cate对象和text对象;

主要参数:
id(必须),循环体内调用的循环对象句柄;
namein(可选):用于指定名称限定时使用,如果namein为空,则全部迭代,格式是使用pause符号枚举,如"name1,name2";
exp(可选):true或false,指是否是排斥型的,与namein配合,如果exp为true,则只有namein中的名称不符合的对象才会去入循环体;默认是false.

1.全部迭代;
cate对象:
<cates id="thecate" exp="false">
循环体(通过${thecate.属性名称}访问,thecate由id指定)
</cates>

text对象:
<texts id="thetext" exp="false">
循环体(通过${thecate.属性名称}访问,thecate由id指定)
</texts>

2.指定名称迭代;

当用户了解所要调用的集合名称,同时不希望迭代全部子对象时使用;关键属性是namein,内容是子对象的name集合,用逗号(pause)隔开(注意:中文的逗号不能接受)1.cates标签,针对分类对象的可选集合标签
<cates namein="name1,name2" id="thecate">
循环体(通过${thecate.属性名称}访问,thecate由id指定)
</cates>
注:属性名称与cate对象相同。2.texts标签,针对单页文本的可选集合标签
<texts namein="name1,name2" id="thetext">
循环体(通过${thetext.属性名称}访问,thetext由id指定)
</texts>
注:属性名称与text对象相同。

2.指定类型迭代;

可以指定类型(article | adsinfo | product),使用contentype属性,迭代出该类型的列表对象。

五、对象和对象属性;
可以使用对象标签直接调用本动态网站所属的单个对象的属性;对象属性可以使用oid或name(单一的英文名称)
语法:

<entity ent="对象类型" id="嵌套文本中的识别标志" oid="对象的OID">
嵌套文本$
</entity>

 如:

 <entity ent="article" id="theart" oid="24329">
  ${theart.topic}
</entity>
<entity ent="bbsthread" id="thethread" oid="383">
  ${thethread.topic}
</entity>

例子:添加对象属性模板;

效果:http://blog.daifumd.com/dochome/domains/dudu.com/texts/text_25.htm
六、操作符和参数
1.日期操作符(date)
当显示的属性是日期类型时,默认是表示日期的微秒长值;可以使用date调节格式;如:${theart.pubdate.[date(format<pattern>)]}
将按所定义的日期类型显示该文章的日期,而不是长数字;

2.子字符串
如果截取的对象的属性为字符串,可以通过这个操作符截取对象属性中的字符串的指定长度;

格式:[substring(start<0>;end<0>;startstr<>;endstr<>)]
start开始位置;end结束位置;starstr:指示开始位置的特征字符串;endstr:指示结束位置的特征字符串;

例 :thethread.content(前一百字符):=<br>${thethread.content.[substring(end<100>)]}

例子示例:

添加对象属性模板;

效果:http://blog.daifumd.com/dochome/domains/dudu.com/texts/text_25.htm

七、引入片模板;
可以使用template将生成的片模板中的代码引入,以便提高代码的使用效率。

以下内容已经升级,使用专门的template标志用于代替原有的版模板功能;import专用于引入网址内容

<template name="dudu_1_fragment_1"/>
<template id="3375"/>

  • name:要引入的模板名字;
  • id:要引入的模板的id;

    使用此模板功能需要选添加fragment_1,fragment_2模板;
    import标签参数:

    • template:要引入的模板名字;
    • templateid:要引入的模板的id;
    • url:要引入的网页网址;
    • encoding:要引入的网页网址编码(默认为gbk);

    以上四条至少有一条不为空。

    引入fragment_1;(注意把名称改为您引入后的模板的ID)
    <import template="dudu_1_fragment_1"/>
    引入fragment_2;(注意把名称改为您引入后的模板的ID)
    <import templateid="3375"/>
    引入本站的topmenu)
    <import url="/fragments/topmenu.jsp"/>



     

  • 我要留言

    Powered By Daifumd.com