您当前的位置: 主页 > 优化教程
本文实例讲述了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,使用,sql,语句,调用,文章,静态,    标签:
    更多资讯请收藏关注 网站模板(www.1yc.cn)

织梦DedeCMS的tag标签不支持大写字母的解决方法今天发现dedecms中的tag标签点击无效,开始以为是自己标签弄错了... 2021-07-30
dede根据任意栏目id获取顶级栏目名称的自定义函数//获取顶级栏目名 function GetTopTypenameBy... 2021-07-22
dedecms 获取当前栏目ID以及调用当前栏目的字段获取dedecms当前栏目的ID,标签为: {dede:type}[f... 2021-07-30
织梦cms后台提示common.inc.php文件属性为644问题解决方法用 dedecms织梦的朋友都知道新安装的dedecms都会有一些安全... 2021-07-27
dedecms教程:织梦所有实用标签调用方法搜集整理最近研究了一下 织梦模板 后台,发现一些非常有用的标签调用的方法,分享... 2021-07-22
织梦文章页原创Meta声明标注在添加这个标签的时候,余斗发现一个问题,就是页面的生成格式默认为:20... 2021-07-22
dedecms怎么实现文章标题-栏目名称-网站名导航本文介绍了在dedecms中,实现文章标题-栏目名称-网站名 导航的方... 2021-07-22
织梦获取顶级栏目名称、二级栏目名称实现方法织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法 在用织梦... 2021-08-14
dedecms标签:arclist文章列表调用标签标签名称:arclist 标记简介:织梦常用标记,也称为自由列表标记,... 2021-07-27
织梦如何根据软件栏目下载的次数进行排序即使站长朋友都知道dedecms的安全问题会导致在php免备案空间中挂... 2021-08-14
dede评论总数调用及方法调用织梦全站评论总数其实很简单,比如用dedecms搭建博客类型的网站... 2021-07-22
织梦信息发布员发表文章后自动审核更新生成HTML一直以来DEDECMS的信息发布员在后台发布文章后,非要管理员审核才能... 2021-07-22
织梦DEDECMS首页301重定向DEDECMS首页301重定向,将不带www的主域名定向到带www /... 2021-07-27
织梦标签channel实现列表页调用当前栏目的子类代码如下: {dede:channel type=son row=10... 2021-07-27
如何解决新站做好了很久都不收录的问题1、频繁修改网站标题。新网站切勿频繁修改网站标题描述,如果要修改等网站... 2022-03-30
织梦dedecms导航栏目设置外部链接打不开怎么办?织梦dedecms内容管理系统搭建网站快捷方便因此受到很多站长朋友们的... 2021-07-30
DEDECMS搜索关键词调用的链接修改 改掉PLUS目录DEDE搜索默认是调用plus目录下的search.php文件。 我们... 2021-07-22
dedecms如何调用出访客最近浏览过的文章以下是本人针对上面问题的一个拙劣的笨方法:不对的地方请高手赐教 后台出... 2021-07-27

线
咨询热线:
135-0038-3336
在线客服:
点击这里给我发消息
微信交流:
公司官网: www.1yc.cn