控制器代码

// 查询上下篇
$courseIds = model('course')
->where([
'isdel' => 0,
'teacherid' => $teacher['id'],
'ispublic' => 1
])
->order('sort desc')
->order('view desc')
->column('id');
$cidKey = array_search($cid, $courseIds);
$preCourseId = array_key_exists($cidKey+1, $courseIds) ? $courseIds[($cidKey +1)] : false;
$nexCourseId = array_key_exists($cidKey-1, $courseIds) ? $courseIds[($cidKey -1)] : false; $this->assign([
'course' => $course,
'preCourseId' => $preCourseId,
'nexCourseId' => $nexCourseId,
'model' => new CourseModel
]);

模板代码

{{if condition="$preCourseId !== false"}}
<div>
<span class="font-bold">上一篇:</span><a href="{{:url('index/teacher/cindex', ['cid' => $preCourseId])}}">{{$model->get($preCourseId)['title']}}</a>
</div>
{{/if}}
{{if condition="$nexCourseId !== false"}}
<div>
<span class="font-bold">下一篇:</span><a href="{{:url('index/teacher/cindex', ['cid' => $nexCourseId])}}">{{$model->get($nexCourseId)['title']}}</a>
</div>
{{/if}}

TP5指定讲师页面文章上下篇的更多相关文章

  1. 查询文章的上下篇Sql语句

    直接开入正题 文章内容页一般都会有上一篇和下一篇的功能: 那么查询上下篇的sql语句应该怎么写呢:示例数据表:zmd_article自增主键:id当前文章id:10 肯定有人说,这简单啊id+1和id ...

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

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

  3. wordpress上下篇

    分页一: <!--上下篇开始--> <div class="shangxia"> <?php $current_category=get_the_ca ...

  4. Android - 页面返回上一页面的三种方式

    今年刚刚跳槽到了新公司,也开始转型做Android,由此开始Android的学习历程. 最近在解很多UI的bug,在解bug过程中,总结了在UI的实现过程中,页面返回上一页面的几种实现方式. 一. 自 ...

  5. asp.net增加指定404页面

    对于在asp中添加404页面我并不熟悉,所以刚开始只能在网上找各种资料,网上资源太多,各种借鉴.   1.借鉴网上尝试的第一种方法:   首先,修改应用程序根目录的设置,打开 “web.config” ...

  6. tomcat的安全配置(禁用http方法,部署多个应用,启用从安全cookie,指定错误页面和显示信息)

    配置版本:tomcat6 1,虚拟路径,可以配置多个host在一个tomcat中,docbase是web应用目录,此处在server.xml中添加应用配置,要让server.xml配置生效需要重启to ...

  7. 点击a标签,跳转到iframe中,并在iframe中显示指定的页面

    点击a标签,跳转到iframe中,并在iframe中显示指定的页面 1.用a标签的target属性 <iframe id="myFrameId" name="myF ...

  8. Swift - 移除页面视图上的所有元素

    下面代码可以遍历移除页面视图上的所有元件 1 2 3 4 5 6 //清空所有子视图 func clearViews() {     for v in self.view.subviews as [U ...

  9. 微信小程序页面跳转的问题(app.json中设置tarBar后wx.redirectTo和wx.navigateTo均不能实现跳转到指定的页面)

    1.设置的tabBar代码片段: "tabBar": { "list": [ { "pagePath": "pages/homep ...

随机推荐

  1. Java多线程 面试知识点总结1

    一.JMM(Java内存模型) 参考 老刘-JMM面试包过 HollisChuang-Java内存模型 <Java并发编程实战>Chapter-16 <深入理解Java虚拟机> ...

  2. BeautifulSoup4的使用

    一.介绍 Beautiful Soup 主要是用来解析提取 HTML 和 XML 文件中的数据. 现在官网推荐使用 Beautiful Soup 4 ,已经被移植到了BS4中. 安装 Beautifu ...

  3. stm32 connot enter debug mode

    dap 可以发现设备,stlink jlink 均无法发现设备,但是都不能下载.connot enter debug mode ,发现是vdda 未连接

  4. 题解 party?

    传送门 挺遗憾的一个题 考场上想到的思路是题解的退化版,可以有71pts(赛时以为只有20pts),但因为这一场的策略原因没有打-- 首先发现颜色种类数很少,可以直接bitset上树剖维护,炸不了空间 ...

  5. mysqldump备份总结

    常用的备份参数 -A 备份全库 -B 备某一个数据库下的所有表 -R, --routines 备份存储过程和函数数据 --triggers 备份触发器数据 --master-data={1|2} 告诉 ...

  6. 【mysql】单表使用索引常见的索引失效

    1. 全值匹配我最爱 全值匹配我最爱指的是,查询的字段按照顺序在索引中都可以匹配到! SQL 中查询字段的顺序,跟使用索引中字段的顺序,没有关系.优化器会在不影响SQL 执行结果的前提下,给 你自动地 ...

  7. java Math.random()生成从n到m的随机整数

    Java中Math类的random()方法可以生成[0,1)之间的随机浮点数.而double类型数据强制转换成int类型,整数部分赋值给int类型变量,小数点之后的小数部分将会丢失. 如果要生成[0, ...

  8. C#多线程---Mutex类实现线程同步

    一.例子 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 ...

  9. 【maven】入门教程

    一:Maven简介 1.Maven是什么? 是一个跨平台的项目管理工具.使用java语言开发(Maven 3.3+ require JDK 1.7 or above to execute)2. 为什么 ...

  10. Docker是简介

    Docker是什么  使用最广泛的开源容器引擎 一种操作系统级的虚拟化技术 依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制) 一个简单的应用程序打包工具 D ...