今天周五了,这个项目做了五个晚上了,明天周末不用上班有一整天的时间来结束这个项目了,今晚主要把后台界面给弄出来了。

  大概的整个后台界面就是这个样子了,接下来的工作就是搬砖了,一个个菜单功能填上去就是了。

  还有补充了下多个公共方法,为后面菜单开发而准备。

<?php

/**
* JSON数据返回
*/
function jsonResult($status,$message,$data){
$result=array(
'status'=>$status,
'message'=>$message,
'data'=>$data
);
exit(json_encode($result));
} /**
* MD5加密密码
*/
function getMd5Password($password){
return md5($password.C('MD5_PRE'));
} /**
*获取导航菜单
*/
function getMenuType($type){
return $type==1?'后台菜单':'前端导航';
} /**
*获取状态
*/
function status($status){
if($status==0){
$str='关闭';
}elseif($status==1){
$str='正常';
}elseif($status==-1){
$str='删除';
}
return $str;
} /**
*获取后台菜单URL地址
*/
function getAdminMenuUrl($nav){
$url='/admin.php?c='.$nav['c'].'&a='.$nav['a'];
if($nav['f']=='index'){
$url="/admin.php?c=".$nav['c'];
}
return $url;
} /**
*获取控制器
*/
function getActive($nav_controller){
$controller=strtolower(CONTROLLER_NAME);
if(strtolower($nav_controller)==$controller){
return 'class="active"';
}
return '';
} /**
*文件上传结果返回
*/
function showKind($status,$data){
header('Content-type:application/json;charset=UTF-8');
if($status==0){
exit(json_encode(array('error'=>0,'url'=>$data)));
}
exit(json_encode(array('error'=>1,'message'=>'上传失败')));
} /**
*获取登录用户名
*/
function getLoginUsername(){
return $_SESSION['adminUser']['username']?$_SESSION['adminUser']['username']:'';
} /**
*获取菜单名
*/
function getCatName($navs,$id){
foreach($navs as $nav){
$navList[$nav['menu_id']]=$nav['name'];
}
return isset($navList[$id])?$navList[$id]:'';
} function getCopyFromById($id){
$copyFrom=C("COPY_FORM");
return $copyFrom[$id]?$copyFrom[$id]:'';
} function isThumb($thumb){
if($thumb){
return '<span style="color:red">有</span>';
}
return '无';
} /**
*文章截取预览
*/
function msubstr($str,$start=0,$length,$charset='utf-8',$suffix=true){
$len=strlen($str);
if(function_exists('mb_substr')){
if($suffix){
return mb_substr($str,$start,$length,$charset).'...';
}else{
return mb_substr($str,$start,$length,$charset);
}
}elseif(function_exists('iconv_substr')){
if($suffix && $len>$length){
return mb_substr($str,$start,$length,$charset).'...';
}else{
return mb_substr($str,$start,$length,$charset);
}
}
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset],$str,$match);
$slice=join("",array_slice($match[0],$start,$length));
if($suffix){
return $slice.'...';
}
return $slice;
}
?>

  就到这里了,明天早起,把这个项目赶起进度来!

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

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

  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开发整站(4)

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Example011表单中修改内容

    <!-- 实例011表单中修改内容的方法 --> <!DOCTYPE html> <html lang="en"> <head> & ...

  2. java的logcat的简单使用

    android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() .根据首字母对应VERBOSE,DEBUG,INFO, WA ...

  3. SAP 标准成本滚算小记

    我们公司的业务属于供应链业务,核心模式就是买进卖出,收取差价以及管理费用等等.基本上用不到成本管理,物料均采用移动平均价,也基本上符合公司业务的需求.所以SAP系统中对物料成本和滚算等配置就缺失了,心 ...

  4. Eclipse安装Git插件以及通过Git导入华为软件开发云项目

    --内容提交-- 1.    Eclipse安装Git插件 2.    在Eclipse中导入华为软件开发云项目, 以及常用Git操作 一. Eclipse安装Git插件 现在从eclipse官网下载 ...

  5. ThinkPHP 实现验证码渲染、校验、点击刷新

    一.在控制器中写方法,生成验证码,代码如下: /** * 验证码生成 * expire 验证码的有效期(秒) * useImgBg 是否使用背景图片 默认为false * fontSize 验证码字体 ...

  6. git - 远程分支

    对于用户来说,git给人提交到本地的机会.我们可以在自己的机器上创建不同的branch,来测试和存放不同的代码. 对于代码管理员而言,git有许多优良的特性.管理着不同的分支,同一套源代码可以出不一样 ...

  7. 初次使用Mybatis配置出现错误待解决

    数据库: create table STUDENT ( STUID NUMBER(9) not null, SNAME VARCHAR2(50) not null, SEX VARCHAR2(4), ...

  8. (转)IBM MQ 创建以及常见问题集锦

    背景:这篇文章还是很全面的,但是很杂乱 后面慢慢整理吧! 1 MQ 消息队列+发送队列+消息通道 接收通道名称与发送端的发送通道名称要一致,修改通道信息后要执行 start channle(chlna ...

  9. Nginx安装部署与测试

    场景:项目需要部署在生产环境中,这些新的工具都需要在生产环境中去实践练习.有时间再部署一套ELK的日志分析系统,这样的系统才算具有一定的应用价值. 1 Nginx安装 用root用户安装,采用源代码编 ...

  10. (转)Linux下查看文件和文件夹大小 删除日志

    场景:在sts中执行自动部署时候maven提示No space left on device错误,后来经检查发现是磁盘空间满了,用下面的方法分析发现tomcat下面的logs目录占用了很大的空间,删除 ...