最新公告
  • 欢迎您光临牛气网,本站秉承“用心服务,做好服务”致力为站长提供优质的售后服务!立即加入我们
  • 调用dede:sql,dede:php标签 调用文章的静态链接地址

    很多时候我们用织梦后台调用数据的时候,自带的标签很多时候都没办法调用我们要的数据,因此要自己写sql去调用,之前有个问题搞了两天都没搞出来,后来看到下面这个文章,问题解决了!
    使用dedecms这个程序建站有两年多的时间了,期间建了不少网站不过至今没有一个网站赚钱的,痛苦啊。可能平时花太多的时候在折腾网站上面,而没有用心去推广宣传。喜欢折腾没办法,不然也就没有以下的内容分享给大家了。
    补充:发布这往篇文章后,无意间发现在了dedecms的GetOneArchive,只要传入一个文档id就可以获得文章链接了,其实这个函数返回的的文章信息数组包含了:链接地址,标题,文章ID,栏目ID,这里只需要文章链接地址。具体代码如下

    {dede:sql sql="select * From dede_archives a where a.title like '%<a href="http://www.qmtx3.com/live/" target="_blank">生活</a>小<a href="http://www.qmtx3.com" target="_blank">窍门</a>%' and a.arcrank>-1 limit 8"}
    <li><a title="[field:title/]" href="[field:id runphp='yes']$url=GetOneArchive(@me);@me=$url['arcurl'];[/field:id]">[field:title runphp='yes']@me=cn_substr(@me, 50);[/field:title]</a></li>
    {/dede:sql}
    如果你仅仅需要调用文章的链接地址该方法不失为一个快捷的方法,文章下部分介绍的方法较为复杂,但如果你想调用文章链接地址的同时还想调用栏目名称不妨试下

    为什么要使用dede:php,dede:sql

    在一些比较复杂的调用中用dede:arclist标签是解决不了问题的,比如说大家常说的调用某一会员发布的文章等等之类,这些一般要通过dede:sql标签来实现。
    今天我所说的调用也是比较特殊的就是在首页调用指定关键字的文章,其实这个跟dedecms的相关文章标签类似。这里给大家分享两种方法。
    dede:sql标签调用指定关键字文章静态地址

    这里引用dedecms官方关于dede:sql的介绍
    【Sql 标记】
    功能说明:用于从模板中用一个SQL查询获得其返回内容。
    适用范围:非扩展模块所有模板。
    (1)语法:{dede:sql sql="这里写sql语句"}底层模板{/dede:sql}
    (2)属性:
    [1] sql 完整的SQL查询语句。
    (3)底层模板:
    SQL语句中查出的所有字段都可以用[field:字段名/]来调用。
    好了了解dede:sql标签后,就可以根据自己的需求写sql语句了,我这里是要调用指定关键字的文章,sql语句如下:
    "select * From dede_archives a where a.arcrank>-1 and a.title like '%生活小窍门%' limit 8"
    语句解析:a.arcrank>-1限制调用已审核的文章;like '%生活小窍门%'调用指定关键字的文章;limit 8为调用条数为8条
    然后就开始写完整的标签和底层模板了,如下:
    这样就OK了?起初我也以为就是这么简单,兴奋的打开预览页面,靠,title="",href=""这两个属性都是空的,想一下算是明白了。dede:sql标签其实就是通过sql查询数据库返回查询的字段(注:这里我查询的字段为*,你可以根据你的实际情况来查询),底板模板中的[field:字段名称]调用的就是这个返回的字段,这些字段是没有经过任何程序处理的,直接就是数据库里的内容。比如说fulltitle,arcurl这个在数据库中就没有这两个字段,平常我们在dede:arclist中用到的这些字段只不过是dede在php程序中处理的。知道了问题所在然后查了下资料终于解决了。
    1、首先解决完整标题和截字问题:我使用的是[field:title runphp='yes']@me=cn_substr(@me, 50);[/field:title]这种方法相信大家也经常用到,这里就不多作介绍了,以后可能会专门弄个文章介绍这种用法。50就是截字长度
    2、解决dede:sql标签静态文章地址问题:这里比较麻烦了,我在网上转了一下,多数给出的解决办法就是href="/plus/view.php?aid=[field:id/]",显然这不是我想要的这不是静态地址,而其他地址用arclist调用的又是静态地址,结果就成了一篇文章有两个地址一个静态一个动态,这对seo来说显然不友好,最好通过自己折腾终于成功了
    3、解决id不能正确获取的问题:之前没注意到因为dede_arctype和dede_archives两个表id字段名是一样的,以至于底层模板获取不到正确的id,之前select改了下,增加了别名。

    dede:sql调用文章静态链接地址的完美方法

    {dede:sql sql="select * From dede_archives a, dede_arctype t where a.typeid = t.id and a.title like '%生活小窍门%' and a.arcrank>-1 limit 8"}
    <li><a title="[field:title/]" href="[field:array runphp='yes'] @me=GetFileUrl(@me['id'],@me['typeid'],@me['senddate'],@me['title'],@me['ismake'],@me['arcrank'],@me['namerule'],@me['typedir'],@me['money']); [/field:array]">[field:title runphp='yes']@me=cn_substr(@me, 50);[/field:title]</a></li>

    {/dede:sql}

    不管怎么说总算还是实现了我想要的效果,后来想了想用dede:php标签如何实现这个效果呢,其实方法和dede:sql标签是一样的,也就不多说什么了,直接贴代码:

    {dede:php}
    $dsql->SetQuery("select a.id as aid, t.id as tid,typeid,senddate,title,ismake,arcrank,namerule,typedir From dede_archives a, dede_arctype t where a.typeid = t.id and a.title like '%生活小窍门%' and a.arcrank>-1 limit 8");
    $dsql->Execute();
    while($row = $dsql->GetArray()){
    echo '<li><a title="'.$row['title'].'" href="'.GetFileUrl($row['aid'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],$row['arcrank'],$row['namerule'],$row['typedir'],$row['money']).'">'.cn_substr($row['title'], 50).'</a></li>';
    }

    {/dede:php}

    最后的叼叼,dedecms个人觉得做一般的文章资讯类站点还是够用的,不过要做什么会员、下载。。。这些功能的站,dedecms貌似不怎么能胜任,就像dede:php,dede:sql这些标签,新手站长肯定搞不清楚的。这个效果在窍门天下首页右边那里有演示,

    {dede:sql sql="select a.id as aid, t.id as tid,typeid,senddate,title,ismake,arcrank,namerule,typedir From dede_archives a, dede_arctype t where a.typeid = t.id and a.title like '%生活小窍门%' and a.arcrank>-1 limit 8"}
    <li><a title="[field:title/]" href="[field:array runphp='yes']@me=GetFileUrl(@me['aid'],@me['typeid'],@me['senddate'],@me['title'],@me['ismake'],@me['arcrank'],@me['namerule'],@me['typedir'],@me['money']);[/field:array]">[field:title runphp='yes']@me=cn_substr(@me, 50);[/field:title]</a></li>
    {/dede:sql}

    1、本站所有资源皆来源于网络和用户自行上传,因此不包括售后和技术,敬请谅解!
    2、本站不保证所提供的源码的准确性、安全性和功能完善性,资源仅用于学习用!
    3、您下载的资源,请务必在24小时内删除,资源仅提供本地测试,请勿商用或者非法用途都与本站无关,一切后果自负!
    4、如发现资源下载不了,或者侵权请及时联系客服或者邮箱admin#niuqi.net,#改为@!
    牛气网 » 调用dede:sql,dede:php标签 调用文章的静态链接地址

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@niuqi.net),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@niuqi.net),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    • 60会员总数(位)
    • 3067资源总数(个)
    • 1995本月发布(个)
    • 79 今日发布(个)
    • 369已陪伴您(天)

    牛气网NIUQI.NET站长源码平台

    开通SVIP会员 了解详情
    升级SVIP尊享更多特权立即升级