通过cmstop的content标签无法在列表页面直接调用摘要,需要用到一个专门摘要函数{description($r[contentid])},如果不想用这个函数的话也可通过以下db语句查询article表中的摘要内容;db标签支持标准SQL语句,在语句中可以直接插入系统标签变量。
<!--{content catid="$catid" orderby="published desc" size="$pagesize" page="$page"}-->
<li><span>[{date('n月j日 G:i', $r['published'])}]</span> <a href="{$r[url]}">{$r[title]}</a>
<p>
<!--{db sql="SELECT * FROM `#table_article` WHERE contentid=$r[contentid]"}-->
{str_cut($r[description],256,'')}
<!--{/db}-->
</p>
</li>
<!--{/content}-->
官方提供的文档内容;
db标签
作用:通用的数据库数据调用方法,使用自定义SQL语句调用本地或远程数据库的内容;
参数对照表:
参数名 | 必选 | 说明 |
dsn | 否 | 数据源名称,当需要调用的数据库非当前系统的数据库时,可以先在后台添加好所需数据源,设置到数据库连接相关信息。通过此参数调用,默认为当前系统的数据库。 |
dbname | 否 | 数据库名,当需要调用的数据库帐号和当前系统相同而数据库名不同时使用 |
charset | 否 | 数据字符集,当需要调用的数据和当前系统字符集不同时设置,数据输出的时候系统会根据此设置自动转码 |
sql | 是 | 任何符合规范的SQL语句,数据表的前缀可以用 #table_代替 |
page | 否 | 当前的页码数,默认为0,即第一页 |
size | 否 | 限制查询返回的条数(必须是正整数),默认不限制 |
offset | 否 | 数据库查询结果偏移值(必须是正整数),默认值为 0,例offset=”1”代表从第二条数据开始调取。若指定了page参数,且page>0,则offset参数无效。 |
return | 否 | 返回值变量 return:返回结果变量名,默认为 r |
示例:
<!--{db dsn="empirecms" sql="SELECT `id`,`onclick` FROM `phome_ecms_article`" size="12"}-->
{$r[id]}, {$r[onclick]}
<!--{/db}-->
上例说明:输出从外部数据源empirecms的phome_ecms_article表中提取其字段id及onlick内容并显示,条数限制为12。
示例:
<!--{db sql="select * from #table_content where catid=$catid and modelid=1 and status=6 order by published desc"} -->
<a href="{$r[url]}">{$r[title]}</a> {date('n月j日H:i',$r['published'])}
<!--{/db}-->
上例说明:上例输出从content表中选取的栏目id为$catid的,内容模型为1,并且处于发布状态的内容,按时间倒序排列。
注:{content}、{discuz}、{phpwind}、{shopex}标签均可使用{db}的参数,但反过来无效,即{db}不能使用它们的参数 。通过{content}标签调用的数据均为status=6的数据,所以如果要通过{db}标签调取与{content}标签相同的数据,则需添加status=6的条件。