RESOURCE语句用于读取指定栏目的附件。RESOURCE语句可以嵌套使用RS、RESOURCE、MAP和JAVA语句。
<res id=(id:STRING) topic=(topic:STRING) type=(type:STRING) where=(where:string) orderby=(orderby:string) from=(from:int) rows=(rows:int) page=(page:int) style=(style:String)>
--在此写入你的正文内容
</res>
一旦topic出现,其必须在id之后,在type、from、rows、page、style、where、orderby之前。
| 参数名 | 类型 | 含义 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | STRING | 必须。该RES的唯一号。必须以字母或下划线开头。 | ||||||||||||||||||||
| topic | STRING |
要查询的栏目代号,如果指定了栏目。在该RES段中可以引用附件标签,但注意要加上该RES段的ID号。 可选,如果topic没有指定,系统将取值为根据当前上下文计算的当前模板所在栏目。 对于自定义数据源总是返回空结果集。 如果指定了topic="",表示读取当前栏目所属站点的所有附件。 例如有栏目名称为news, <res id ="r1" topic="news"> <$r1.res_title$> </res> |
||||||||||||||||||||
| type | STRING |
可选。表示附件类型,以附件后缀表示,多个类型以;或空格或tab键或,或|间隔,不区分大小写。
type不设置时表示取所有附件,等同于type="*.*"。
例如,".jpg;.gif"表示匹配jpg和gif格式的图片。 ".jpg|.bmp|.gif" "*.jpg|.bmp|*.gif" ".jpg;.bmp;.gif" "jpg|bmp|gif" "jpg bmp gif" |
||||||||||||||||||||
| where | string |
可选。where语句将出现在以下SQL语句红色标注的where_clause中。 SQL语句如下: select c.*,d.name creator_cn,e.unit from article a, attach b,resources c,users d,dept e,topic f Where a.Id=b.artid And c.id=b.resid and c.creator=d.id and d.dept=e.id and a.topic=f.id and (f.code='<$top_code$>' or f.code like '<$top_code$>.%') and f.siteid='<$site_id$>' and (where_clause) order by orderby_statement |
||||||||||||||||||||
| orderby | string |
可选,表示排序方法。SQL语句参加where子句说明。 默认按文章重要度(降序)+ 发布日期(降序)+创建时间(降序)+文章ID(升序)+附件显示次序(升序)排列。即orderby="a.important desc,a.publishdate desc,a.createdate desc,a.id,b.idx"。 |
||||||||||||||||||||
| from | int | 可选,从第X条开始读取数据。默认从0开始计数。 | ||||||||||||||||||||
| rows | int | 可选,共取X条。不填读取剩余的所有数据。 | ||||||||||||||||||||
| page | int | 可选,分页数。达到该条数后,系统将自动分页。 | ||||||||||||||||||||
| style | String |
可选,分页导航条样式。只有在page设置时有效,取值如下。如果RESOURCE语句设置了page参数,缺省的style样式是modern。 css文件样例请参考/css/pagebreak.css进行定义,缺省的样例参看下图。
|
在模板需要定制的位置前(一般是RESOURCE语句前),嵌入JAVA语句。
注意:
1.建议是一次定义整组变量,而不是一个。
2.%1$s用于表示参数。%1$表示第一个,%2$表示第二个;s表示是字符串,d表示是数字。所以,%1$s表示第一个参数格式化为字符串显示,%1$d表示第一个参数格式化为数字显示。具体可以参照String.format()函数的说明。
3.如果仅仅是调整CSS样式,请参见/css/pagebreak.css样例进行调整。
例如,以下定义导航栏不清除样式,英文导航,并且显示当前链接,但是没有合计信息和下拉选择框导航。
<%
PAGEBREAK_HEADER = "<div class='pagebreak_modern'>";
PAGEBREAK_PREVPAGE = "<span class='prevpage'><a href='%1$s'>Previous</a></span>";
PAGEBREAK_NEXTPAGE = "<span class='nextpage'><a href='%1$s'>Next</a></span>";
PAGEBREAK_SKIP = "<span class='omit'>...</span>";
PAGEBREAK_PAGE = "<span class='page'><a href='%1$s'>%2$s</a></span>";
PAGEBREAK_CURRENTPAGE = "<span class='currentpage'><a href='%1$s'>%2$s</a></span>";
PAGEBREAK_TOTAL = null;
PAGEBREAK_SELECTBOX = null;
PAGEBREAK_FOOTER = "</div>";
%>
| 变量 | 含义 | 缺省值 | 参数 |
|---|---|---|---|
| PAGEBREAK_HEADER | 页眉 | <div class='clear'></div><div class='pagebreak_modern'> | |
| PAGEBREAK_PREVPAGE | 前一页 | <span class='prevpage'><a href='%1$s'>上一页</a></span> | 链接地址 |
| PAGEBREAK_NEXTPAGE | 下一页 | <span class='nextpage'><a href='%1$s'>下一页</a></span> | 链接地址 |
| PAGEBREAK_SKIP | 省略符 | <span class='omit'>...</span> | |
| PAGEBREAK_PAGE | 页码 | <span class='page'><a href='%1$s'>%2$s</a></span> | 链接地址,页码(数字) |
| PAGEBREAK_CURRENTPAGE | 当前页 | <span class='currentpage'>%2$s</span> | 链接地址,页码(数字) |
| PAGEBREAK_TOTAL | 合计信息 | <span class='total'>共%2$d页</span> | 总记录数,总页数,每页条数,当前页码 |
| PAGEBREAK_SELECTBOX | 下拉选择框 | <select class='page_select' onchange='javascript:window.location=this.value'> | |
| PAGEBREAK_FOOTER | 页脚 | </div> |
| 变量 | 含义 | 缺省值 | 参数 |
|---|---|---|---|
| PAGEBREAK_HEADER | 页眉 | <div class='clear'></div><div class='pagebreak_onebyone'> | |
| PAGEBREAK_PREVPAGE | 前一页 | <span class='prevpage'><a href='%1$s'>上一页</a></span> | 链接地址 |
| PAGEBREAK_NEXTPAGE | 下一页 | <span class='nextpage'><a href='%1$s'>下一页</a></span> | 链接地址 |
| PAGEBREAK_SKIP | 省略符 | ||
| PAGEBREAK_PAGE | 页码 | <span class='page'><a href='%1$s'>%2$s</a></span> | 链接地址,页码(数字) |
| PAGEBREAK_CURRENTPAGE | 当前页 | <span class='currentpage'>%2$s</span> | 链接地址,页码(数字) |
| PAGEBREAK_TOTAL | 合计信息 | 总记录数,总页数,每页条数,当前页码 | |
| PAGEBREAK_SELECTBOX | 下拉选择框 | ||
| PAGEBREAK_FOOTER | 页脚 | </div> |
以下代码演示了读取当前栏目下所有附件。
<res id="r1">
<$r1.res_title$>
</res>
以下代码作用同上,也是读取当前栏目下所有附件。
<res id="r1" topic=<$top_code$>>
<$r1.res_title$>
</res>
以下代码演示了读取当前站点下的所有附件。
<res id="r1" topic="">
<$r1.res_title$>
</res>
以下代码演示了读取当前栏目下,重要度为非常重要的文章附件,并按发布时间升序排列。
<res id="r1" where="a.important=2" orderby="a.publishdate">
<$r1.res_title$>
</res>
以下代码演示了读取栏目代号为top1的栏目下20个附件。
<res id="r1" topic="top1" rows=20>
<$r1.res_title$>
</res>
以下代码演示了读取当前栏目下所有附件,并以20条每页进行分页。
<res id="r1" page=20>
<$r1.res_title$>
</res>