找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1177|回复: 0

[分享] DedeCms用SQL语句调用数据库任意内容方法

[复制链接]
发表于 2018-2-25 14:06:54 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
DedeCms给我们提供了大量调用标签,供我们调用各种数据,但提供再多的标签,也有满足不了我们的时候,这时我们可以用SQL语句,灵活调用我们需要的内容。
      如何任意调用数据库中的内容呢?先举个例子:大家都知道dede后台有个频道模型里面有添加单页文档的功能,但如何在首页调用单页文档的内容呢,现在给大家讲下如何使用:
1.首页在后台单页文档管理里添加一个单页文档,内容编辑框输入你要的内容生成。
2.在需要调用单页文档的地方加入SQL万用标签{dede:sql sql="select body from dede_sgpage where aid=2"}[field:body /]{/dede:sql} 相信熟悉SQL语言的朋友很容易看懂这句含义。意思其实就是选择数据表dede_sgpage 的body字段输入,aid=2这里的2表示你创建单页文档ID数字,你使用时做下相应修改即可。
又如这句SQL标签样例代码
{dede:sql sql="select content from dede_arctype where id=2"}
[field:content function=cn_substr(Html2Text(@me),600)/]
{/dede:sql}

根据上面的例子,应该很好理解了,这里主要说明一下cn_substr表示截取600个字符也就是300个汉字。Html2Text代表把含有HTML的字符过滤掉,只显示文本。
其实除了上面的例子外,在Dede系统里面,我可以可以自由使用SQL语句来配合织梦标签进行更多的个性化调用。他们的基本参照格式为:
{dede:sql sql="select  字段 From 表名称 where 条件语句"}
[field:字段名/]
{/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}
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-3 00:32 , Processed in 0.040945 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表