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

  前台公共控制器:

<?php
namespace Home\Controller; use Think\Controller; class CommonController extends Controller
{
public function __construct()
{
header('Content-type:text/html;charset=utf-8');
parent::__construct();
} /**
*@return 获取排序数据
*/
public function getRank()
{
$conds['status']=1;
$news=D('News')->getRank($conds, 10);
return $news;
} public function error($message = '')
{
$message=$message?$message:'系统发生错误';
$this->assign('message', $message);
$this->display('Index/error');
}
}

  前台首页控制器:

<?php
namespace Home\Controller; use Think\Controller; class IndexController extends CommonController
{
public function index($type = '')
{
//获取排序数据
$rankNews=$this->getRank();
//获取首页大图数据
$topPicNews=D('PositionContent')->select(
array(
'status'=>1,
'position_id'=>2
), 1
);
// 首页小图推荐
$topSmailNews=D('PositionContent')->select(
array('status'=>1,'position_id'=>3), 3
); $listNews=D('News')->select(array('status'=>1,'thumb'=>array('neq','')), 30); $addNews=D('PositionContent')->select(array('status'=>1,'position_id'=>5), 2); $this->assign('result', array(
'topPicNews'=>$topPicNews,
'topSmailNews'=>$topSmailNews,
'listNews'=>$listNews,
'advNews'=>$advNews,
'rankNews'=>$rankNews,
'catId'=>0,
));
/**
*生成静态页面
*/
if ($type=='buildHtml') {
$this->buildHtml('index', HTML_PATH, 'Index/index');
} else {
$this->display();
}
} public function build_html()
{
$this->index('buildHtml');
return jsonResult(1, '首页缓存生成成功');
} public function crontab_build_html()
{
if (APP_CRONTAB != 1) {
die('the_file_must_exec_crontab');
}
$result=D('Basic')->select();
if (!$result['cacheindex']) {
die('系统没有设置开启自动生成首页缓存的内容');
}
$this->index('buildHtml');
} public function getCount()
{
if (!$_POST) {
return jsonResult(0, '没有任何内容');
}
$newsIds=array_unique($_POST);
try {
$list=D('News')->getNewsByNewsIdIn($newsIds);
} catch (Exception $e) {
return jsonResult(0, $e->getMessage());
} if (!$list) {
return jsonResult(0, 'notdata');
} $data=array();
foreach ($list as $k => $v) {
$data[$v['news_id']]=$v['count'];
}
return jsonResult(1, 'success', $data);
}
}

  今天就写了这两个类,其实已经不难了,都是那么两板斧了。今天就到这睡觉了!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    久违了,今天终于抽空把最后的写完了,这是这个项目的最后一篇文章了,把前台的栏目控制器和文章内容控制器的功能实现了. 栏目控制器: <?php namespace Home\Controller; ...

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

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

随机推荐

  1. 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

    今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...

  2. 轻量级高性能ORM框架:Dapper高级玩法

    Dapper高级玩法1: 数据库中带下划线的表字段自动匹配无下划线的Model字段. Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true; 备 ...

  3. IOS 状态栏(UIStatusBar)

    ios上状态栏指的屏幕顶端的20像素高的部分 状态栏分前景和背景两部分 前景部分:就是指的显示电池.时间等部分: 背景部分:就是显示白色或者图片的背景部分: 如下图:前景部分为黑色字体,背景部分为白色 ...

  4. java基础(8) -集合类-Collecion

    集合类-Collecion Collection接口 常用方法 //添加新元素 boolean add (E element); //返回迭代器 Iterator<E> iterator( ...

  5. Vysor破解助手for Linux/macOS/Windows

    Vysor更新到1.7.8后,之前的破解工具又失效了,但破解的方法依然可用.在更新破解工具的过程中,Vysor又出了1.7.9版本,主要是对Android O做了处理.更新后的破解工具支持1.6.6~ ...

  6. java 分页模型的模板

    分页sql select top 每页要显示的记录数 * from 表名 where 主键 not in (select top (每页显示的记录数*(当前页-1)) 主键 from 表名 ) sel ...

  7. python+matplotlib+web.py

    最近看了厦门大学数据库实验室林子雨老师的<大数据课程实验案例:网站用户行为分析>,可视化这块是用的R语言,我决定用Python来实现一下. 参考文献 http://dblab.xmu.ed ...

  8. rsync技术报告(翻译)

    本篇为rsync官方推荐技术报告rsync technical report的翻译,主要内容是Rsync的算法原理以及rsync实现这些原理的方法.翻译过程中,在某些不易理解的地方加上了译者本人的注释 ...

  9. LInux挂载windows共享磁盘

    #!/bin/sh #进行windows paths目录同步 cd /mnt str="//10.33.4.199/linux" result=$(df | grep ${str} ...

  10. 2017年7月Web服务器调查报告

    在2017年7月的调查中,我们收到了来自1,767,964,429个网站和6,593,508个面向web的计算机的反馈.这是一个小小的进步,网站的数量增加了100万个(+0.06%),面向web的计算 ...