cmstop模板标签通过db标签的sql语句调用文章列表摘要内容

通过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}-->

上例说明:输出从外部数据源empirecmsphome_ecms_article表中提取其字段idonlick内容并显示,条数限制为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('njH:i',$r['published'])}

<!--{/db}-->

上例说明:上例输出从content表中选取的栏目id$catid的,内容模型为1,并且处于发布状态的内容,按时间倒序排列。

:{content}{discuz}{phpwind}{shopex}标签均可使用{db}的参数,但反过来无效,即{db}不能使用它们的参数 。通过{content}标签调用的数据均为status=6的数据,所以如果要通过{db}标签调取与{content}标签相同的数据,则需添加status=6的条件。

 

 

你可能感兴趣的:(sql语句)