模板文件:

{%get name=plist class="did":$read.did,pid:$read.pid%}
<li class="fl">{%if $read.ctitle!=''%}上一篇:<a class="infolist2" title="{%$read.title%}" href="{%$read.link%}">{%$read.ctitle%}</a>{%/if%}</li>
{%/get%}
{%get name=plist class="did":$read.did,pid:$read.pid,class:1%}
<li class="fr">{%if $read.ctitle!=''%}下一篇:<a class="infolist2" title="{%$read.title%}" href="{%$read.link%}">{%$read.ctitle%}</a>{%/if%}</li>
{%/get%}

修改php文件:
/interface/lib_plist.php

增加17行
$pid = intval($para['pid']);//print($pid);
修改28行:
//先按pid排序查询,如果都相同则按did查询。先按pid排序,如果都相同则按did排序
if ($class) {
  $sql = "SELECT * FROM $db_table WHERE isclass=1 AND tid = $read[tid] AND (pid > $pid or (pid = $pid and did > $did)) ORDER BY pid ASC, did ASC LIMIT 0,1";
} else {
  $sql = "SELECT * FROM $db_table WHERE isclass=1 AND tid = $read[tid] AND (pid < $pid or (pid = $pid and did < $did)) ORDER BY pid DESC, did DESC LIMIT 0,1";
}

/interface/lib_plist.php

 <?php

 class lib_plist extends connector {

     function lib_plist() {
$this->softbase();
parent::start_pagetemplate();
$this->pagetemplate->libfile = true;
}
function call_plist($lng, $para, $filename = 'plist', $outHTML = null) {
$para = $this->fun->array_getvalue($para);
$lngpack = $lng ? $lng : $this->CON['is_lancode'];
$lng = ($lng == 'big5') ? $this->CON['is_lancode'] : $lng;
include admin_ROOT . 'datacache/' . $lng . '_pack.php';
$did = intval($para['did']);//print($did);
$pid = intval($para['pid']);//print($pid);
if (empty($did)) {
return false;
}
$class = intval($para['class']);
$class = empty($class) ? 0 : $class;
$db_table = db_prefix . 'document';
$read = $this->get_documentview($did);
if (!$read['tid']) {
return false;
}
//先按pid排序查询,如果都相同则按did查询。先按pid排序,如果都相同则按did排序
if ($class) {
$sql = "SELECT * FROM $db_table WHERE isclass=1 AND tid = $read[tid] AND (pid > $pid or (pid = $pid and did > $did)) ORDER BY pid ASC, did ASC LIMIT 0,1";
} else {
$sql = "SELECT * FROM $db_table WHERE isclass=1 AND tid = $read[tid] AND (pid < $pid or (pid = $pid and did < $did)) ORDER BY pid DESC, did DESC LIMIT 0,1";
}
$rslist = $this->db->fetch_first($sql);
if (is_array($rslist)) {
$typeread = $this->get_type($rslist['tid']);
$rslist['typename'] = $typeread['typename'];
$rslist['typelink'] = $this->get_link('type', $typeread, $lngpack);
$rslist['pageclass'] = $typeread['pageclass']; $rslist['link'] = $this->get_link('doc', $rslist, $lngpack);
$rslist['buylink'] = $this->get_link('buylink', $rslist, $lngpack);
$rsList['enqlink'] = $this->get_link('enqlink', $rsList, $lngpack);
$rslist['ctitle'] = empty($rslist['color']) ? $rslist['title'] : "<font color='" . $rslist['color'] . "'>" . $rslist['title'] . "</font>";
}
$this->pagetemplate->assign('read', $rslist);
$this->pagetemplate->assign('lng', $lng);
$this->pagetemplate->assign('lngpack', $LANPACK);
if (!empty($outHTML)) {
$output = $this->pagetemplate->fetch(null, null, $outHTML);
} else {
$output = $this->pagetemplate->fetch($lng . '/lib/' . $filename);
}
return $output;
} }

espcms内容页上下篇按后台手动排序号的更多相关文章

  1. dedecms内容页 上下篇 添加文章描述方法

    dedecms5.7修改后 运行正常! 在根目录include文件夹中修改arc.archives.class.php文件,812行左右:为$query添加查询字段arc.description,分别 ...

  2. 织梦cms文章内容页上下篇单独获得URL和文章名称修改

    1.打开/include/arc.archives.class.php ,查找   $this->PreNext['pre']    //约813行 在其下一行插入: $this->Pre ...

  3. espcms内容页相册调用代码

    {%forlist from=$photo key=i%} <li style="position: absolute; width: 600px; left: 0px; top: 0 ...

  4. ASP.NET在母版页或内容页上获取控件ID

    原本想给一个button添加一个confirm,不同的分数提示不同的信息(大于80合格,小于80不合格,提示是否提交),最开始用了button.Atribute.Add();但是它每次获取到的是lab ...

  5. 鲜为人知帝国CMS内容页调用上一篇和下一篇的精华方法汇总

    <span style="float:left">上一篇:[!--info.pre--]</span><span style="float: ...

  6. espcms列表页ajax获取内容 - 并初始化swiper

    <link rel="stylesheet" href="swiper.min.css" type="text/css" media= ...

  7. 内容页获取当前栏目的上一级栏目ID

    发现V9在列表页可以用$parentid 得到当前栏目的父级ID,但在内容页这个函数的值却为空了,需要按下面的写法才行, V9 在内容页获取当前栏目的上一级栏目ID {$CAT[parentid]} ...

  8. phpcms v9文章内容页调用上一篇下一篇的方法(转)

    phpcms v9文章内容页调用上一篇下一篇的方法如下,魔客吧(www.moke8.com)提示您直接摘取如下代码中的红色部分即可: 上一篇:{$previous_page[url]}" t ...

  9. dedecms文章页的上下篇颠倒的问题

    dedecms的文章页底下的上下篇,如果按照时间排序的话,最新的一篇应该是最上了,但是底下还是会显示上一篇文章还有,然后下一篇文章没有了,就是颠倒了.如何修改呢. 1.修改include目录下arc. ...

随机推荐

  1. ThinkPHP常用查询

    1.常规 $map2['state'] = 1; $User->where ( $map2 )->find(); 2. OR 查询 $where['name'] = array('neq' ...

  2. Python-03-基础

    一.集合 集合(set)是一个无序的.不重复的元素组合,它的主要作用如下: 去重:把一个列表变成集合,就会自动去重. 关系测试:测试两组数据之前的交集.差集.并集等关系. 常用操作 # 创建数值集合 ...

  3. css一些小的效果

    1.http://www.shejidaren.com/creative-dashboard-designs.html 网址:  

  4. linux源代码安装程序

    下载源代码之后 tar zxvf file.tar.gz      解压源代码压缩包 ./configure --prefix=/opt/haha/  安装到这个路径 make  编译 sudo ma ...

  5. 【USACO 2.3】Zero Sum(dfs)

    按字典序输出所有在123..n之间插入'+','-',' '结果为0的表达式.. http://train.usaco.org/usacoprob2?a=jUh88pMwCSQ&S=zeros ...

  6. 动态树之LCT(link-cut tree)讲解

    动态树是一类要求维护森林的连通性的题的总称,这类问题要求维护某个点到根的某些数据,支持树的切分,合并,以及对子树的某些操作.其中解决这一问题的某些简化版(不包括对子树的操作)的基础数据结构就是LCT( ...

  7. AOJ DSL_2_D Range Update Query (RUQ)

    Range Update Query 数列 A = {a0,a1 ,...,an−1} に対し.次の2つの操作を行うプログラムを作成せよ. update(s,t,x): as,as+1,...,at  ...

  8. Python 面向对象 中高级

    类成员: #字段 普通字段 属于对象 执行只能通过对象访问 静态字段 属于类 执行 既可以通过对象访问,也可以通过类访问 class Foo: def __init__(self,name): # 字 ...

  9. git版本控制?

    git是一个分布式的版本控制系统,版本控制系统,类似于保险箱,而我们的代码就是资产:通过对代码的有效管理可以更好的提高我们的生产效率:maven是主要是一个项目构建工具,解决的是我们个人在开发过程中的 ...

  10. 【转】C# lock的使用

    一.Lock定义     lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行, ...