产品缩略图模块的控制器代码与INDEX模板代码

原创 2019-01-05 11:16:09 242
摘要:<?php namespace app\admin\controller; use app\admin\controller\Common; use app\admin\model\ProductModel; use app\admin\model\ProductPicModel; use think\facade\Request; use&
<?php
namespace app\admin\controller;
use app\admin\controller\Common;
use app\admin\model\ProductModel;
use app\admin\model\ProductPicModel;
use think\facade\Request;
use think\facade\Session;

class ProductPic extends Common
{
    public function index()
    {
        //实例化模型
        $proPic = new ProductPicModel();
        $productPic = $proPic->order('id','ascending')
            ->paginate(4);
        $this->view->productPic = $productPic;
        //渲染产品缩略图列表
        return $this->fetch();
    }

    public function add()
    {
        //查询所有产品数据
        $product = ProductModel::all();
        //将数据赋值给模板
        $this->view->product = $product;
        //渲染添加界面
        return $this->fetch();
    }


    public function upload()
    {
        //获取上传图片信息
        $file = Request::file('file');
        //验证并移动到指定目录
        if($info = $file->validate(['ext'=>'jpg,jpeg,png,gif,bmp'])
            ->move('upload')){
            //拼接图片路径
            $fileName = '/upload/'.$info->getSaveName();
            //返回成功信息
            return json([1,'上传成功','data'=>$fileName]);
        }else{
            //返回失败信息
            return $file->getError();
        }
    }


    public function DoAdd()
    {
        //获取提交数据
        $data = Request::param();
        $data['time']=time();
        $data['username']=Session::get('username');
        //实例化模型
        $proPic = new ProductPicModel();
        if($proPic->save($data)){
            return ['res'=>1,'msg'=>'发布成功'];
        }else{
            return ['res'=>0,'msg'=>'发布失败'];
        }
    }
    public function del()
    {
        //获取信息
        $productId = Request::param('id');
        $productPic = new ProductPicModel();
        if($productPic->destroy($productId)){
            return ['res'=>1,'msg'=>'删除成功'];
        }
    }
}
{include file="/public/head"}
<body>
<div class="x-nav">
      <span class="layui-breadcrumb">
        <a href="">首页</a>
        <a href="">演示</a>
        <a>
          <cite>导航元素</cite></a>
      </span>
    <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="javascript:location.replace(location.href);" title="刷新">
        <i class="layui-icon" style="line-height:30px">ဂ</i></a>
</div>
<div class="x-body">
    <xblock>
        <button class="layui-btn" onclick="x_admin_show('添加缩略图','{:url(\'ProductPic/add\')}')"><i class="layui-icon"></i>添加</button>
        <span class="x-right" style="line-height:40px">共有数据:条</span>
    </xblock>
    <table class="layui-table">
        <thead>
        <tr>
            <!--<th>
                <div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>
            </th>-->
            <th>图片ID</th>
            <th>所属产品</th>
            <th>图片</th>
            <th>发布人</th>
            <th>发布日期</th>
            <th >操作</th>
        </tr>
        </thead>
        <tbody>
        {volist name="productPic" id="product"}
        <tr>
            <!-- <td>
                  <div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'>
                  <i class="layui-icon">&#xe605;</i></div>
              </td>-->
            <td>{$product.id}</td>
            <td>{:GetProTitle($product.product_id)}</td>
            <td><img src="{$product.pic}"></td>
            <td>{$product.username}</td>
            <td>{$product.time|date="Y-m-d"}</td>
            <td class="td-manage">
                <a title="删除" onclick="member_del(this,'{$product.id}')" href="javascript:;">
                    <i class="layui-icon">&#xe640;</i>
                </a>
            </td>
        </tr>
        {/volist}
        </tbody>
    </table>
    <div class="page">
        <div>

        </div>
    </div>

</div>
<script>
    layui.use('laydate', function(){
        var laydate = layui.laydate;

        //执行一个laydate实例
        laydate.render({
            elem: '#start' //指定元素
        });

        //执行一个laydate实例
        laydate.render({
            elem: '#end' //指定元素
        });
    });

    /*用户-删除*/
    function member_del(obj,id){
        layer.confirm('确认要删除吗?',function(index){
            //发异步删除数据
            $.get('{:url(\'del\')}','id='+id,function(data){
                if(data.res ==1){
                    $(obj).parents("tr").remove();
                    layer.msg('已删除!',{icon:1,time:1000});
                }
            })
        });
    }
</script>

</body>

</html>


批改老师:天蓬老师批改时间:2019-01-05 14:36:42
老师总结:添加的时候没必要把所有产品都加载出来,只需要把对应的一个产品加载出来就可以了 图片上传只验证扩展名是不够的

发布手记

热门词条