DEDECMS文章系统另类内链方法
来源:互联网 发布:日语网络教育 编辑:程序博客网 时间:2024/06/01 09:26
很多站长都喜欢DEDECMS,因为它提供了非常多功能。。今天我们就聊一聊内链系统。
大家常用的无非就是推荐,热门,文章关联等,今天小编就介绍一种另类的内链方法。利用arclist标签打造另类文章系统内链。
DEDECMS的arclist标签大家应该非常熟悉,功能也就不多作介绍了,我们知道arclist标签有个属性是idlist。这个属性就是让arclist标签只调用idlist属性指定的ID。没错,小编要利用的就是idlist属性来打造另类的内链。且听小编一一道来。
当我们打开一篇文档的链接。而我们的文章又多,怎么让更多的文章有展示的机会呢。推荐?热门?时间排序?点击排序?手工推送。NO。这些太麻烦。
先听听小编的思路、
假设最第一条记录id为1,最后一条ID为99.
当打开一篇文档。假设文档ID是1,那么就自动推送出ID为1的后面的文章,如2,3,4,5,6....如果不中间有断层,也就是说我们中间删除过文文章。那么就一直后推。比方我们之前删除过5,7文档。那么就显示2,3,4,6,8等等。如果当前打开的文档ID是数据库的最后一条记录,比方说是99.那么自动推送出99前的文章,如...95,96,97,98等等,
也可以反过来。最后一篇文章则显示1,2,3,4,5,.第一篇文章则显示最后的5篇如、97,98,99
代码如下:
一、给arclist 的idlist属性自定义一个值。小编是给的是remark 那么完整的标签应该为:{dede:arclist row='10' idslist='renark' orderby='pubdate'}
二、修改标签代码,打开include/taglib/arclist.lib.php。
在189行位置增加如下代码:
if($idlist == 'remark')
{
$idlist = get_arc_id($arcid,$line);
}
这段代码的功能就是重新给$idlist变量赋值,并且不会和系统原来的定义冲突。
三、自定义函数get_arc_id($arcid,$line)
名称可以自行定义,参数$arcid表示当前文档ID。$line表示调用的数量。
在文件最后面添加函数
function get_arc_id($id,$line)
{
global $dsql; //定义全局数据库操作对象
$ilist = '';//初始化变量,用来存储符合条件的ID
$count = 0;//初始化变量,用来统计符合条件ID 的数量
$flag = 0;//初始化变量。循环退出变量
$row = $dsql->GetOne("select count(id) as total from `#@__archives` where arcrank>-1 and id<".$id." and channel=1");
//统计数据库ID小于当前文档ID一共有多少篇文档,
$count=$row['total']; //将总数赋值给$count
while(true) ///开始循环,循环变量是true,也就是个死循环,在循环体内用条件判断退出
{
if($count>=$line)
{
$id--; //如果小于ID的文档小于等调用的数量。那么当前文档的ID就自增1,
}
else
{
$id++;////如果小于ID的文档大于调用的数量。那么当前文档的ID就自增1,
}
$row=$dsql->GetOne("SELECT `id` as cid FROM `#@__archives` where id=".$id);
//类似自增后的ID是数据库是否存在,如果存在,就表示这条记录是符合要求。开始累加给变量$ilist
if(is_array($row))
{
if($ilist=='')
{
$ilist.=$row['cid'];
}
else
{
$ilist.=",".$row['cid'];
}
//累加,结果类似1,2,3,4等
if($flag>=$line)
{
break;//获取的数量大于等于调用数量。退出循环。
}
}
else
{
continue;//不够,继续循环。再次匹配
}
}
return $ilist;//返回匹配结果。
}
实例参考:http://www.qwgx.cn/ 文章内容页 你可能感兴趣模板
- DEDECMS文章系统另类内链方法
- dedecms文章内页获取缩略图
- dedeCMS 文章显示常用方法
- 文章内链的实现方法
- PHP 文章内链的实现方法
- DedeCms调用全站相关文章方法
- dedecms调用文章排行榜的方法
- dedecms调用文章排行榜的方法
- dedecms实现栏目内的文章上下链接
- 织梦DedeCms系统利于SEO方法
- DedeCMS系统datalist标签调用arcurl方法
- DedeCMS系统标签调用arcurl方法
- DEDECMS织梦内容管理系统添加新文章白屏
- dedecms模板内加入php代码的方法
- dedecms模板内加入php代码的方法
- dedecms模板内加入php代码的方法
- dedeCMS自定义模型字段内页和首页调用方法
- DedeCMS V5.3文章分页标题加上序号方法
- 从原理上搞定编码-- Base64编码
- 美团Android资源混淆保护实践 - 美团技术团队
- Java多线程总结(1) — 创建线程的两种方式
- 向Android源码目录添加新的git目录
- 基础排序
- DEDECMS文章系统另类内链方法
- Android Studio 工程依赖问题
- 10022---JavaScript--DOM HTML与CSS
- JavaScript——如何构建自己的JS库?
- 10 Deep Learning Trends at NIPS 2015
- Laravel 5.1 事件、事件监听的简单应用
- 类似QQ好友分组栏
- AsyncTask
- 天气预报简单接口的实现