现在我在的公司是个非常“热衷”竞价的公司,当然也是个十分热衷seo的公司。今天编辑不好意思的问了我一个需求,因为工作的需要,她所负责的华康减肥的项目刚刚上线,这个时候她希望多发一些外链来提高百度的收录。并且她希望可以获得每一篇文章的标题和连接。刚开始她和说这个的时候,提到了什么火车头啊,采集啊什么的。弄的我头都大了。毕竟我也是刚刚接触dede织梦。死来想去、想去思来,我觉得要怎么解决这个问题呢。我突然想到了在之前公司经常用到的接口。
毕竟是刚刚着手dede织梦,对于其后台的框架还不是特别的熟悉,所以不容易找到left页面的内容到底是怎么回事。但是,所有框架基本的原理都是一样的。无非都是定义好配置文件包含,后台呢有session判断。所以为了这个接口的安全和可以使用,我们要包含这些文件。这样我们才能使用数据库。因为织梦的文章都是依据栏目来的,所以,我给他的检索的条件是这样的
可以检索指定栏目下的指定数量,当然这些都有默认值,默认的是所有栏目下的最新的10条文章。
检索后的结果是这样的:
当然就因为是接口,这些东西我们都可以随便的去定义。下面说一下代码实现。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
<?php /*包含的dede的必要的配置文件,数据的配置等*/ require_once(dirname(__FILE__)."/config.php"); require_once(DEDEINC."/typelink.class.php"); require_once(DEDEINC."/datalistcp.class.php"); require_once(DEDEADMIN."/inc/inc_list_functions.php"); $sub = $_POST['submit']; //判断是否点击筛选,点击后执行查询。 if(!empty($sub)){ $typeid = $_POST['typeid']; $num = $_POST['num']; //指定默认的检索条数 $num==''?$num=10:$num=$num; //指定检索的栏目id $typeid== ''?$typeid='':$typeid=$typeid; /*下面这个sql语句的作用是检索出所有的栏目id和typedir,因为我们知道织梦默认的静态文章的路径是域名+栏目目录+文章id+.html这样的。所以我们需要获得指定文章的typedir。之所以这样写的好处是,不用在下面文章循环中搜索,会重复搜索,这样搜索后将结果存储成文章的typeid为键值,栏目的路径为value。因为文章的typeid和栏目的id是对应的。属于主外建关系这样调用栏目路径的时候是需要调用这个文章的typeid就可以了*/ $sql2 = "SELECT `id`,`typedir` FROM `jf06_arctype`"; $query2=mysql_query($sql2); while($rs3=mysql_fetch_array($query2)){ //不得不提的是这里,这里是将目录中的{cmspath}/去掉,方便后面的使用。 $dir = str_ireplace('{cmspath}/','',$rs3['typedir']);; $rs4[$rs3['id']] = $dir; } /*判断是否输入了栏目id输入了,输入了就查指定栏目下的文章,这里用in就可以查多个栏目了,例如1,2,6*/ if(!empty($typeid)){ $sql = "SELECT `id`,`typeid`,`title` FROM `jf06_archives` WHERE `typeid`in($typeid) order by id desc LIMIT 0,$num"; }else{ $sql = "SELECT `id`,`typeid`,`title` FROM `jf06_archives` order by id desc LIMIT 0,$num"; } $query=mysql_query($sql); while($rs=mysql_fetch_array($query)){ $rs2[] = $rs; } //将连接组合成类似的这种形式http://www.xxxx.com/tslf/34.html $i = 0; foreach($rs2 as $val){ echo ++$i.' <a target="blank" href="http://www.zyjyyy.com/'.$rs4[$val['typeid']].'/'.$val['id'].'.html">'.$val['title'].'</a> http://www.zyjyyy.com/'.$rs4[$val['typeid']].'/'.$val['id'].'.html <br />'; } } ?> |
<form action=” method=”post”>
栏目的id:<input type=”text” name=”typeid” />
检索的数量:<input type=”text” name=”num” />
<input type=”submit” name=”submit” value=”检索” />
</form>
最后将这个代码保存成一个php文件,将这个文件放在你的后台目录下,也就是原默认的dede目录下。登陆后访问这个文件即可。当然还有很多功能都是可以再加的,后期再完善。
程序本天成,妙手偶得之!我们只是代码的搬运工!
转载请注明:http://www.521php.com/archives/107/