DEDECMS在其它页面调用单页文章内容并过滤HTML代码的方法

DEDECMS织梦的单页文章是建设网站一种非常高效的方式,非常方便快捷。不过有时候我们需要在首页或者列表页面调用某些单页的内容,如首页调用关于我们单页的介绍信息等。DedeCMS织梦模板怎么实现在除单页以外的页面,调用单页的文章内容呢?织梦DedeCMS实现其他页面调用单页文章内容织梦其他页面调用单页文章内容使用SQL标签首先需要做的,就是把SQL语句写出来,调用的SQL语句如下:

{dede:sql sql="SELECT body FROM `dede_sgpage` where aid = 1" } [field:body function="htmlspecialchars(cn_substr(@me,130))"/] {/dede:sql}

sql="SELECT body这里的body就是文章内容字段,FROM `dede_sgpage`这里的dede_sgpage是单页文档数据表,where aid = 1 这里的aid = 1 就是你单页文档所在的id,你需要调用哪个单页文档的内容,就把这个换成所在文档的id就可以了。以下的语句则是使用织梦的两个函数,对调用的字段数据进行了必要的处理:

[field:body function="htmlspecialchars(cn_substr(@me,130))"/]

field:body 这里的body如上,就是文章的内容,(cn_substr(@me,130) 这里的130就是你准备让内容显示的字数,可以自己调整。采用上述方法虽然可以成功调用,但是会出现一个问题,就是会把源代码也调用出来。这个时候可以使用下面这个代码

{dede:sql sql="SELECT body FROM `dede_sgpage` where aid = 1" } [field:body function="htmlspecialchars(cn_substr(Html2text(@me),600))"/] {/dede:sql}

Html2text() 函数是去掉html标签代码。cn_substr(str,750) 函数是截取字符串长度,cn_substr表示截取600个字符换算成汉字就是300个汉字。这里再做个延伸:如何任意调用数据库中的内容呢?其实除了上面的例子外,在Dede系统里面,可以自由使用SQL语句来配合织梦标签进行更多的个性化调用。基本参照格式为:代码如下:

{dede:sql sql="select 字段 From 表名称 where 条件语句"}  [field:字段名/]  {/dede:sql}

由上面这种基本格式,我们就可以基本转换出一条调用文档列表的调用标签了,代码为:代码如下:

{dede:sql sql="select * From dede_archives limit 10"}  <li>·<a href="/plus/view.php?aid=[field:id/]">[field:title/]</a></li>  {/dede:sql}

大家看到了上面的文档链接的底层模板地址的是动态的,那么我们要怎么样来进行转换,让他链接到静态地址呢,这里我们只需要对[field:id/]进行一下转换,转换后的完整代码为:代码如下:

{dede:sql sql="SELECT * FROM dede_archives limit 10"}  <li>·<a href="[field:id runphp='yes'] ]" title="[field:title/]" target="_blank">[field:title function=cn_substr(@me,30,0)/]</a></li>  {/dede:sql}

注明:本文为星速云原创版权所有,禁止转载,一经发现将追究版权责任!

(0)
上一篇 2022年5月30日 上午4:09
下一篇 2022年5月30日 上午4:09

相关推荐

发表评论

登录后才能评论
问答社区 QQ客服
微信客服
微信客服
分享本页
返回顶部