dedecms滚动代码(dedecms使用sql语句调用文章静态链接地址的方法)
dedecms滚动代码
dedecms使用sql语句调用文章静态链接地址的方法本文实例讲述了dedecms使用sql语句调用文章静态链接地址的方法。分享给大家供大家参考。具体分析如下:
很多时候我们用织梦后台调用数据的时候,自带的标签很多时候都没办法调用我们要的数据,因此要自己写sql去调用,之前有个问题搞了两天都没搞出来,后来看到下面这个文章,问题解决了.
使用dedecms这个程序建站有五年多的时间了,期间建了不少网站,欢迎各位朋友找我建站.
补充:
发布这篇文章后,无意间发现在了dedecms的GetOneArchive,只要传入一个文档id就可以获得文章链接了,其实这个函数返回的的文章信息数组包含了:链接地址,标题,文章ID,栏目ID,这里只需要文章链接地址,具体代码如下:
- {dede:sql sql="select * From dede_archives a where a.title like '%织梦建站%' and a.arcrank>-1 limit 8"}
- <</code>li><</code>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]</</code>a></</code>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条
然后就开始写完整的标签和底层模板了,如下:
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"}
- <</code>li><</code>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]</</code>a></</code>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 '<</code>li><</code>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).'</</code>a></</code>li>';
- }
- {/dede:php}
希望本文所述对大家的dedecms建站有所帮助。
- dedecms系统更改(DEDECMS添加运行代码功能的FCKeditor编辑器修改方法)
- dedecms不能调用文章发布时间(dedecms文章页上一篇与下一篇标题长度截取的方法)
- dedecms导入doc插件(DEDECMS教程之静态模板类类文件)
- 织梦dedecms建站教程(详解DEDECMS织梦模板随机调用文章数据方法汇总教程)
- dedecms怎么更换模板(DEDECMS解析模板之灵活应用视图类)
- dedecms更新后设置空白(dedecms如何去掉首页index.html的方法)
- dedecms搜索功能的实现(让DEDECMS自动内链起来的实现方法)
- dedecms验证码要怎么设置(DEDECMS 后台验证码图片不显示的多种解决方法)
- dedecms系统设置参数(织梦DedeCMS文档点击数过万后直接显示以“万”为单位的数值的方法)
- dedecms点赞功能怎么做呢(dedecms实现任意页面调用当前会员信息的方法)
- dedecms统计功能(DedeCMS sql 调用数字递增标签以及修改方法)
- dedecms的自由列表管理(dedecms TAG标签列表分页链接优化方法)
- dedecms标签调用大全(dedecms 官方网站或演示地址字段长度不够出现截断的修改方法)
- dedecms自助购买(DEDECMS 支付宝操作手册)
- dedecms添加代码(dedecms 栏目目录用首字母生成的方法)
- dedecms模板未生成(dedecms前台会员无法上传图片类型的解决方法)
- 袁冰妍轧戏 拍《琉璃》的同时还在拍《将夜》,难怪被骂演技差(拍琉璃的同时还在拍将夜)
- 刚红就耍大牌,《琉璃》角色滤镜碎一地,心疼工作人员(琉璃角色滤镜碎一地)
- 袁冰妍郑业成这对可以处,有脸红情话他们是真的敢说(袁冰妍郑业成这对可以处)
- 《祝卿好》台词又土又甜,就喜欢这么直接的恋爱(祝卿好台词又土又甜)
- 大女主 汤唯垂青电视圈,搭档朱亚文出演《大明皇妃孙若微传》(汤唯垂青电视圈)
- 红色代表什么(红色代表什么情感和含义)
热门推荐
- mysql索引优化技巧(MySQL如何优化索引)
- mysql查询分区语句(MySQL中 and or 查询的优先级分析)
- thinkphp5.1插件实现(Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例)
- h5开发app缺点(H5唤醒APP实现方法及注意点总结)
- dockerswarm网络模式(详解Docker Swarm概念与用法)
- nginx做转发配置weight啥意思(Nginx中break与last的区别详析)
- web中如何预防xss攻击(详解前端安全之JavaScript防http劫持与XSS)
- sqlserver2012登录出现报错18456(SQL Server 2012 sa用户登录错误18456的解决方法)
- python微信红包分配(PHP切割整数工具类似微信红包金额分配的思路详解)
- 宝塔面板与php(宝塔面板如何安装PHP扩展)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9