[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
原创粉丝点击