[thinkPHP5项目实战_27]前台文章内容展示
来源:互联网 发布:股票数据分析员 编辑:程序博客网 时间:2024/04/26 15:39
在文章列表下点击文章进入文章展示页面;
本文介绍的文章展示页面功能包括:文章内容(标题,时间,图片,内容),文章点击数,上一篇下一篇功能。
文章的详情信息有Article控制器操作:
<?phpnamespace app\index\controller;class Article extends Basic{ public function index() { $id=input('artid');//在文章列表页点击进入获取传过来的文章的id值 db('article')->where('artid', $id)->setInc('click');//click字段自增1,setInc第二个参数为空则默认自增1 //根据文章id联表查询该文章的栏目名称,获取该文章的信息 $arts=\think\Db::name('article')->alias('a')->join('cate c','c.ID = a.cateid','LEFT')->field('a.keywords,a.title,a.content,a.time,a.click,a.artid,a.cateid,c.catename,a.pic')->find($id); //使用limit方法查询该栏目的上一篇文章的id值 $prev= \think\Db::name('article')->where('artid','<',$id)->where('cateid','=',$arts['cateid'])->order('artid desc')->limit(1)->value('artid'); //使用limit方法查询该栏目的下一篇文章的id值 $next= \think\Db::name('article')->where('artid','>',$id)->where('cateid','=',$arts['cateid'])->order('artid asc')->limit(1)->value('artid'); $this->assign('arts',$arts); $this->assign('prev',$prev); $this->assign('next',$next); return $this->fetch('article'); }}
文章模板页面:
上一篇下一篇,如果没有则获取到的id值为空,因此需要判断,若有文章,点击的时候需要重新加载当前控制器,并将上一篇或者下一篇的artid传过去进行上面的操作;
文章是否有图片也需要进行判断;
使用数据操作的setInc方法每点击一下文章进行一次自增;
tags标签同文章展示列表页面:
<body> {include file="Public/header" /} <div class="container"> <div class="row"> <div class="col-sm-8 blog-main"> <div class="post single-post cate2 auth1"> <div class="post-nav"> {if condition="$prev eq ''"} <a class="l" href="javascritp:void(0);">上一篇没有了</a> {else/} <a class="l" href="{:url('article/index',array('artid'=>$prev))}">上一篇 »</a> {/if} {if condition="$next eq ''"} <a class="r" href="javascritp:void(0);" style="float: right;">下一篇没有了</a> {else/} <a class="r" href="{:url('article/index',array('artid'=>$next))}" style="float: right;">下一篇 »</a> {/if} </div> <h4 class="post-date">{$arts.time|date="Y-m-d H:i:s",###}</h4> <h2 class="post-title">{$arts.title}</h2> {if condition="$arts['pic'] neq ''"} <img src="__PUBLIC__{$arts.pic}" /></a> </p> {/if} <div class="post-body"> {$arts.content} </div> <h5 class="post-tags">Tags: <span class="tags"> <?php $arr=explode(',', $arts['keywords']); foreach ($arr as $k => $v) { echo "<a href='http://localhost/test/tp5/Public/index.php/index/Tags/index/tags/$v'>$v</a>"; echo ' '; } ?> </span> </h5> <h6 class="post-footer"> 发布:渣渣 | 分类:{$arts.catename} | 评论:5 | 浏览:<span id="spn75">{$arts.click}</span> </h6> </div> </div> {include file="Public/sidebar" /} </div> </div> </div> {include file="Public/footer" /}</body>效果:
阅读全文
0 0
- [thinkPHP5项目实战_27]前台文章内容展示
- [thinkPHP5项目实战_25]前台文章列表展示
- [thinkPHP5项目实战_06]引入前台页面
- [thinkPHP5项目实战_16]文章列表展示
- [thinkPHP5项目实战_24]前台页面导航栏目调用
- [thinkPHP5项目实战_26]前台文章关键词搜索
- [thinkPHP5项目实战_28]前台文章"相关文章"的功能完善
- [thinkPHP5项目实战_29]前台首页和文章搜索功能完善
- [thinkPHP5项目实战_23]管理员登录信息展示、登出和登录状态检测
- thinkphp5实战系列(二)前台模板的引入
- [thinkPHP5项目实战_11]栏目修改
- [thinkPHP5项目实战_14]场景验证
- [thinkPHP5项目实战_17]文章编辑
- [thinkPHP5项目实战_19]模型添加数据
- [thinkPHP5项目实战_20]友情链接功能完善
- [thinkPHP5项目实战_22]管理员登录
- [thinkPHP5项目实战_30]留言板功能完善
- dubbo项目实战代码展示
- Linux学习笔记之用QT界面操作板子LED
- linux常用命令
- 6.14
- Hibernate(四)完整的操作CRUD
- 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8
- [thinkPHP5项目实战_27]前台文章内容展示
- 不兼容结构的协调——适配器模式(三)
- Spring注解@Component、@Repository、@Service、@Controller区别
- xnote阶段总结
- jdbc和plsql视频
- AR和VR的定义
- JAVA | 7
- unable to location libssl-dev
- oracle常用函数小结(三)