久违了,今天终于抽空把最后的写完了,这是这个项目的最后一篇文章了,把前台的栏目控制器和文章内容控制器的功能实现了。

  栏目控制器:

<?php
namespace Home\Controller;
use Think\Controller;
class CatController extends CommonController{
public function index(){
$id=intval($_GET['id']);
if(!$id){
return $this->error('ID不存在');
} $nav=D('Menu')->find($id);
if(!$nav || $nav['status']!=1){
return $this->error('栏目id不存在或者状态不为正常');
}
$advNews=D('PositionContent')->select(array('status'=>1,'position_id'=>5),2);
$rankNews=$this->getRank(); $page=$_REQUEST['p']?$_REQUEST['p']:1;
$pageSize=20;
$conds=array(
'status'=>1,
'thumb'=>array('neq',''),
'catid'=>$id
);
$news=D('News')->getNews($conds,$page,$pageSize);
$count=D('News')->getNewsCount($conds); $res=new \Think\Page($count,$pageSize);
$pageres=$res->show(); $this->assign('result',array(
'advNews'=>$advNews,
'rankNews'=>$rankNews,
'catId'=>$id,
'listNews'=>$news,
'pageres'=>$pageres
));
$this->display();
}
}
?>

  文章内容控制器:

<?php
namespace Home\Controller;
use Think\Controller;
class DetailController extends CommonController{
public function index(){
$id=intval($_GET['id']);
if(!$id || $id<0){
return $this->error('ID不合法');
} $news=D('News')->find($id); if(!$news || $news['status']!=1){
return $this->error('ID不存在或者资讯被关闭');
} $count=intval($news['count'])+1;
D('News')->updateCount($id,$count); $content=D('NewsContent')->find($id);
$news['content']=\htmlspecialchars_decode($content['content']);
$advNews=D('PositionContent')->select(array('status'=>1,'position_id'=>5),2);
$rankNews=$this->getRank();
$this->assign('result',array(
'rankNews'=>$rankNews,
'advNews'=>$advNews,
'catId'=>$news['catid'],
'news'=>$news
));
$this->display('Detail/index');
} public function view(){
if(!getLoginUsername()){
$this->error('您没有权限访问该页面');
}
$this->index();
}
}
?>

  终于坚持的把该项目做完了,这个项目我也是上淘宝买的教程,边学边做的!可能还会有很多BUG和可改善的地方,日后慢慢检查作修改。

源码地址:https://github.com/YoZiLin/TP-CMS

前端到后台ThinkPHP开发整站(完)的更多相关文章

  1. 前端到后台ThinkPHP开发整站--php开发案例

    前端到后台ThinkPHP开发整站--php开发案例 总结 还是需要做几个案例,一天一个为佳,那样才能做得快. 从需求分析着手,任务体系要构建好,这样才能非常高效. 转自: 前端到后台ThinkPHP ...

  2. 前端到后台ThinkPHP开发整站(7)

    今晚我继续这个项目的前台开发,把前台的做出来了,现在项目进行一个收尾工作了,还有栏目页和一个文章页的开发,做完这两个算是完成了.说到这里感觉有点松懈了,把剩下两个功能页面做完在吹吧,先看看今天弄的代码 ...

  3. 前端到后台ThinkPHP开发整站(2)

    我这次使用的ThinkPHP版本是:3.2.3版本,还有会使用到一个弹出层插件,叫 layer,官网地址是:http://layer.layui.com/.废话不多说,进入撸码环节. 1.通用方法编写 ...

  4. 前端到后台ThinkPHP开发整站(6)

    今天终于把整个后台管理系统弄好了,其实没什么难点,只是作为一个Thinphp学习的练手项目,这个项目,现在还只能算是做了一半,还有前台展示方面的功能没有完成.先过一遍后台的功能吧! 1.首页 2.菜单 ...

  5. 前端到后台ThinkPHP开发整站(5)

    今天周五了,这个项目做了五个晚上了,明天周末不用上班有一整天的时间来结束这个项目了,今晚主要把后台界面给弄出来了. 大概的整个后台界面就是这个样子了,接下来的工作就是搬砖了,一个个菜单功能填上去就是了 ...

  6. 前端到后台ThinkPHP开发整站(4)

    今晚继续我的这个项目的开发,今晚也是写的不多,主要写了一个菜单管理功能的CURD方法,前端界面还没有进行编写. 菜单管理Model层的代码: <?php namespace Common\Mod ...

  7. 前端到后台ThinkPHP开发整站(3)

    继续我的这个项目的第三晚的开发了,时间比较少,今晚写的代码不多,今晚仍然是造轮子写一个公共的控制器和一个公共的JS.直接上代码吧! 以下是一个公共的控制器,后台控制器都继承于它,构造函数中进行验证当前 ...

  8. 前端到后台ThinkPHP开发整站(1)

    1.前言: 我个人从来没有写过博客文章,作为一个程序员没有自己的博客算是一个合格的程序员,所以我地想想也要经营起一个的博客,做一个小项目,写这博客算就做这个项目的一个项目笔记吧!现在自学着ThinkP ...

  9. 前端资源多个产品整站一键打包&包版本管理(一)

    来新公司工作的第五个月.整站资源打包管理也提上了日程. 问题: 首先.什么是整站的打包管理呢? 我们公司的几个重要产品都在同一个webapp里面,但是,不同的开发部门独立开发不同的产品,长期以来,我们 ...

随机推荐

  1. Spring MVC 项目搭建 -4- spring security-添加自定义登录页面

    Spring MVC 项目搭建 -4- spring security-添加自定义登录页面 修改配置文件 <!--spring-sample-security.xml--> <!-- ...

  2. Java添加JDBC

    添加JDBC 1.SQL Server SQL Server2005 下载 sqljdbc_4.0 https://www.microsoft.com/en-us/download/details.a ...

  3. alive pdf 基本用法

    alive pdf 基本用法 <?xml version="1.0" encoding="utf-8"?> <s:WindowedApplic ...

  4. awvs 中文手册详细版

    目录: 0×00.什么是Acunetix Web Vulnarability Scanner ( What is AWVS?) 0×01.AWVS安装过程.主要文件介绍.界面简介.主要操作区域简介(I ...

  5. FileInputStreamTest

    package JBJADV003;import java.io.FileNotFoundException;import java.io.IOException;import java.io.Inp ...

  6. hdu2413(二分+二分匹配)

    题意:人和外星人星球大战,人总共有H个星球,外星人有A个星球,现在人要用飞船去打外星人的飞船,要求每个人类星球只能对战一个外星球,且每个星球都开始有己知的飞船数,不论是人或外星人的星球,并每个星球都有 ...

  7. CentOS 6.8重新安装yum

    问题来源:我在虚拟机上安装vncserver,输入yum install tigervnc tigervnc-server出现问题,所以就重新安装了一遍yum. 具体的过程看如下这个链接:http:/ ...

  8. Java之字符串String,StringBuffer,StringBuilder

    String类: String类即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明.在Java中用String类的构造方法来创建字符串变量. 声明字符串: ...

  9. css 2D转换 transform-rotate 画插图

    学习了一点2D转换,关于Transfrom-rotate的小用法 rotate()方法,在一个给定度数顺时针旋转的元素.负值是允许的,这样是元素逆时针旋转. 下面看实例 第一个例子是没有使用rotat ...

  10. rsync工作机制(翻译)

    本篇为rsync官方推荐文章How Rsync Works的翻译,主要内容是Rsync术语说明和简单版的rsync工作原理.本篇没有通篇都进行翻译,前言直接跳过了,但为了文章的完整性,前言部分的原文还 ...