入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

[thinkPHP5项目实战_27]前台文章内容展示

创建时间:2017-11-12 投稿人: 浏览次数:494

在文章列表下点击文章进入文章展示页面;

本文介绍的文章展示页面功能包括:文章内容(标题,时间,图片,内容),文章点击数,上一篇下一篇功能。

文章的详情信息有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。