php专区

 首页 > php专区 > PHP应用 > CMS建站 > dedecms调用单页内容并过滤html

dedecms调用单页内容并过滤html

分享到:
【字体:
导读:
         [导读] 本章介绍dedecms中首页调用单页文档内容并过滤html的方法。 1、调用的语句 代码如下: {dede:sqlsql=SELECTbodyFROM`dede_sgpage`whereaid=1}[field:bodyfunction=htmlspecialchars(cn_substr(@me,130))/]{/dede:sql} 其中:...

本章介绍dedecms中首页调用单页文档内容并过滤html的方法。

1、调用的语句

代码如下:

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


其中:

{dede:sql sql="SELECT body FROM `dede_sgpage` where aid = 1" }


sql=”SELECT body 这里的body 就是文章内容,FROM `dede_sgpage` 这里的dede_sgpage 这是单页文档存档的数据表,这是织梦DedeCms 5.6的,其它版本的根据表的名称自己定义,where aid = 7″ 这里的aid = 7 就是你单页文档所在的id,你需要调用哪个单页文档的内容,就把这个换成所在文档的id就是!

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

field:body 这里的body如上,就是文章的内容,(cn_substr(@me,130) 这里的130 就是你准备让内容显示的字数,可以自己调整。

但这样做会有一个问题,就是连html也被截断了。

要过滤它,使用:

代码如下:

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

 

Html2text() 函数是去掉html标签代码。

cn_substr(str,80) 函数是截取字符串长度。

如何任意调用数据库中的内容呢?

先举个例子:dedecms后台有个频道模型里面有添加单页文档的功能,但如何在首页调用单页文档的内容:

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}

 

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

代码如下:

{dede:sql sql="select * From dede_archives limit 10"}
  • ·[field:title/]
  • {/dede:sql}

     

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

    代码为:

    代码如下:

    {dede:sql sql="SELECT * FROM dede_archives limit 10"}
    
  • ·[field:title function=cn_substr(@me,30,0)/]
  • {/dede:sql}


    分享到:
    织梦dedecms数据库类操作1.创建数据表2....
    织梦DedeCMS的二次开发不仅仅是会写写织梦的标签,会制作织梦的模板。很多时候,我们需要对织梦DedeCMS的数据库进行查询、插入、删除等等之类的操作,进行这一类的操作之前,我们必须知道织梦DedeCMS的数据库类,No牛网整理了织梦天涯版主关于DedeCMS程序的dedesql类常见的用法讲解的文章,希望有朋友用的上。 1.创建数据...
    织梦sitemap地图如何实时推送给百度
    本教程讲解织梦sitemap地图如何实时推送给百度 在之前,织梦有一套自己主动ping百度的插件,但是后来用不了了,最后百度推出了实时推送链接地址到百度,这样要比sitemap方便好用多了,而且还能保证文章的原创,下面我通过查阅相关资料,根据百度的接口写了一篇sitemap地图实时推送给百度的处理办法,分享给大家。 关于织梦...
    •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
    • 在这里……