[thinkPHP5项目实战_27]前台文章内容展示
在文章列表下点击文章进入文章展示页面;
本文介绍的文章展示页面功能包括:文章内容(标题,时间,图片,内容),文章点击数,上一篇下一篇功能。
文章的详情信息有Article控制器操作:
<?php namespace appindexcontroller; class Article extends Basic { public function index() { $id=input("artid");//在文章列表页点击进入获取传过来的文章的id值 db("article")->where("artid", $id)->setInc("click");//click字段自增1,setInc第二个参数为空则默认自增1 //根据文章id联表查询该文章的栏目名称,获取该文章的信息 $arts= hinkDb::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= hinkDb::name("article")->where("artid","<",$id)->where("cateid","=",$arts["cateid"])->order("artid desc")->limit(1)->value("artid"); //使用limit方法查询该栏目的下一篇文章的id值 $next= hinkDb::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>效果:
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: php基础06_文件增删、目录读取及其他操作
- 下一篇: 前端项目添加自定义icon图标步骤