模板库

标题: DEDECMS模板用SQL语句调用数据库 [打印本页]

作者: 东方星雨    时间: 2011-7-28 10:04
标题: DEDECMS模板用SQL语句调用数据库
       织梦cms模板有很多调用标签,可以调用各种数据,但是有时候我们不需要用标签,可以用SQL语句,灵活调用我们需要的内容。
       怎样才能调用数据库中的内容呢?大家都知道DEDECMS模板后台有个频道模型里面有添加单页文档的功能,现在说说怎样调用单页文档:
       1.首页在后台单页文档管理里添加一个单页文档,内容编辑框输入我们要的内容生成。
       2.在需要调用单页文档的地方加入SQL万用标签
  1. {dede:sql sql="select body from dede_sgpage where aid=2"}[field:body /]{/dede:sql}
复制代码

意思就是选择数据表dede_sgpage 的body字段输入,aid=2这里的2表示要创建单页文档ID的数字,在使用时做下相应修改即可。
       这句SQL标签样例代码
  1. {dede:sql sql="select content from dede_arctype where id=2"}
  2. [field:content function=cn_substr(Html2Text(@me),600)/]
  3. {/dede:sql}
复制代码

     现在应该可以理解了,这里说明一下cn_substr表示截取600个字符也就是300个汉字。Html2Text代表把含有HTML的字符过滤掉,只显示文本。
     其实在织梦模板里面,我们可以自由使用SQL语句来配合织梦模板标签进行更多的个性化调用。他们的基本参照格式为:
  1. {dede:sql sql="select 字段 From 表名称 where 条件语句"}
  2. [field:字段名/]
  3. {/dede:sql}
复制代码

      从这种基本格式,就可以转换出一条调用文档列表的调用标签了,代码为:
  1. {dede:sql sql="select * From dede_archives limit 10"}
  2. <li>·<a href="/plus/view.php?aid=[field:id/]">[field:title/]</a></li>
  3. {/dede:sql}
复制代码

       看到了上面的文档链接的底层模板地址是动态的,那么要怎么样来进行转换,让他链接到静态地址呢,这里就只需要对[field:id/]进行一下转换,转换后的完整代码为:
  1. {dede:sql sql="SELECT * FROM dede_archives limit 10"}
  2. <li>·<a href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]" title="[field:title/]" target="_blank">[field:title function=cn_substr(@me,30,0)/]</a></li>
  3. {/dede:sql}
复制代码






欢迎光临 模板库 (https://bbs.mubanku.com/) Powered by Discuz! X3.1