TPshop学习(4)TPshop目录结构
来源:互联网 发布:饥荒联机mod知乎 编辑:程序博客网 时间:2024/04/29 21:51
学习内容:
https://www.kancloud.cn/tpshop/thinkphp5/280417
ThinkPhP5 项目实战(第四讲):
请看下面的图,左边是thinkphp5的目录,右边是tpshop的目录。
Admin 管理员模块
Api 手机app接口模块(?)
Home网站前台模块
Mobile 手机网站模块
application\home\logic 共用逻辑层代码
application\common.php TPshop 共用函数库
application\function.php php 基础共用函数库
application\config.php 注意底部的重要配置
以及纯静态缓存规则配置 HTML_CACHE_ARR
application\database.php 数据库配置文件
每个模块父类控制器
例如 application\home\controller\Base.php
www\thinkphp\helper.php TP5 助手函数实现 M( ) D( ) U( ) S( ) C( ) I( ) F( )
(?)
www\plugins 插件目录
www\plugins \function 功能插件
www\plugins\login 登录插件
www\plugins\payment 支付插件
www\plugins\shipping 物流插件
www\public\upload 用户上传目录
www\public\upload\goods\thumb缩略图生成方式
演示缩略图 在模板中怎么生成的
缩略图,index.html首页模板文件中,看到缩略图生成的函数。
<div class="hoste_ri"> <ul> <foreach name="v[hot_goods]" item="g" key="gk"> <if condition="$gk lt 8"> <li> <a href="{:U('Home/Goods/goodsInfo',array('id'=>$g[goods_id]))}"> <img class="picture_main" src="{$g[goods_id]|goods_thum_images=200,200}"/> <span class="name_main">{$g[goods_name]|getSubstr=0,15}</span> <!--<span class="intro_main">{$g[name]}</span>--> <span class="price_main"><i>¥</i>{$g[shop_price]}</span> </a> </li> </if> </foreach> </ul> </div>
在common.php中
/** * 商品缩略图 给于标签调用 拿出商品表的 original_img 原始图来裁切出来的 * @param type $goods_id 商品id * @param type $width 生成缩略图的宽度 * @param type $height 生成缩略图的高度 */function goods_thum_images($goods_id,$width,$height){ if(empty($goods_id)) return ''; //判断缩略图是否存在 $path = "public/upload/goods/thumb/$goods_id/"; $goods_thumb_name ="goods_thumb_{$goods_id}_{$width}_{$height}"; // 这个商品 已经生成过这个比例的图片就直接返回了 if(file_exists($path.$goods_thumb_name.'.jpg')) return '/'.$path.$goods_thumb_name.'.jpg'; if(file_exists($path.$goods_thumb_name.'.jpeg')) return '/'.$path.$goods_thumb_name.'.jpeg'; if(file_exists($path.$goods_thumb_name.'.gif')) return '/'.$path.$goods_thumb_name.'.gif'; if(file_exists($path.$goods_thumb_name.'.png')) return '/'.$path.$goods_thumb_name.'.png'; $original_img = M('Goods')->where("goods_id", $goods_id)->getField('original_img'); if(empty($original_img)) return ''; $original_img = '.'.$original_img; // 相对路径 if(!file_exists($original_img)) return ''; //$image = new \think\Image(); $image = \think\Image::open($original_img); $goods_thumb_name = $goods_thumb_name. '.'.$image->type(); //生成缩略图 if(!is_dir($path)) mkdir($path,0777,true); //参考文章 http://www.mb5u.com/biancheng/php/php_84533.html 改动参考 http://www.thinkphp.cn/topic/13542.html $image->thumb($width, $height,2)->save($path.$goods_thumb_name,NULL,100); //按照原图的比例生成一个最大为$width*$height的缩略图并保存 //图片水印处理 $water = tpCache('water'); if($water['is_mark']==1){ $imgresource = './'.$path.$goods_thumb_name; if($width>$water['mark_width'] && $height>$water['mark_height']){ if($water['mark_type'] == 'img'){ $image->open($imgresource)->water(".".$water['mark_img'],$water['sel'],$water['mark_degree'])->save($imgresource); }else{ //检查字体文件是否存在 if(file_exists('./zhjt.ttf')){ $image->open($imgresource)->text($water['mark_txt'],'./zhjt.ttf',20,'#000000',$water['sel'])->save($imgresource); } } } } return '/'.$path.$goods_thumb_name;}
www\template\pc\default\config.php演示模板切换
大概讲述模板配置文件 config.php 和 html.php football足球模板
手机模板的切换。
实际上是更新了,/application/home/home.html
在/template/下有,mobile,pc两个目录。
- TPshop学习(4)TPshop目录结构
- tpshop 数据表结构
- TPshop学习(2)windows下安装Tpshop
- TPshop学习(3)linux下安装tpshop
- TPshop学习(1)内容介绍
- TPshop学习(5)单点登录
- tpshop商城
- tpshop商城
- tpshop好用吗
- tpshop怎么样
- tpshop好用吗
- TPshop学习(6)支付插件的配置
- TPshop学习(8)微信支付
- TPshop学习(9)银联支付
- TPshop学习(8)微信支付
- tpshop商城怎么样
- tpshop授权如何判断
- tpshop商城敢用吗
- 二十天
- Python多线程小例子
- CSS清除浮动
- ArcGIS API + Echarts 实现动态雷达图
- Gym
- TPshop学习(4)TPshop目录结构
- C语言宏定义##连接符和#符的使用
- 高性能、高并发TCP服务器(多线程调用libevent)
- 160. Intersection of Two Linked Lists
- 文章标题
- 机器学习算法(五)集成
- 判断树的子结构
- 关于前台服务去除通知
- B