企业站新闻缩略图模块

原创2018-11-13 10:58:2888
摘要:新闻缩略图控制器代码:<?php namespace app\admin\controller; use app\admin\controller\Common; use app\admin\model\NewsModel; use app\admin\model\NewsPicModel; use think\facade\Request;
  1. 新闻缩略图控制器代码:

  2. <?php
    namespace app\admin\controller;
    use app\admin\controller\Common;
    use app\admin\model\NewsModel;
    use app\admin\model\NewsPicModel;
    use think\facade\Request;
    use think\facade\Session;
    
    /**
    * 
    */
    class NewsPic extends Common
    {
    	public function index(NewsPicModel $newPic){
    
            $pics=$newPic->order('id','desc')->paginate(6);
    		//新闻缩略图列表
    		$count = $newPic->count(1);
    		$this->view->pics=$pics;
    		$this->view->count=$count;
    		return $this->view->fetch();
    	}
    	public function add(NewsModel $news){
    		$news=NewsModel::all();
    		$this->view->news=$news;
    		//添加缩略图
    		return $this->view->fetch();
    	}
    	public function upload(){
    		$file=Request::file('file');
    		if ($info=$file->validate(['ext'=>'jpg,jpeg,png,gif'])->move('upload')) {
    			$fileName='/upload/'.$info->getSaveName();
    			return json([1,'上传成功','data'=>$fileName]);
    		}else{
    			return $file->getError();
    		}
    	}
    	public function DoAdd(NewsPicModel $newPic){
    		//获取提交的信息
    		$data=Request::param();
    		$data['time']=time();
    		$data['username']=Session::get('username');
    		if ($newPic->save($data)) {
    			return ['res'=>1,'msg'=>'发布成功!'];
    		}else{
    			return ['res'=>0,'msg'=>'发布失败!'];
    
    		}
    	}
    
    	public function del(NewsPicModel $newPic){
    		$picId=Request::param('id');
    		if($newPic->destroy($picId)){
    			return ['res'=>1,'msg'=>'删除成功'];
    		}else{
    			return ['res'=>0,'msg'=>'删除失败'];
    
    		}
    
    	}
    }
    ?>

    3.模型代码:

  3. <?php
    namespace app\admin\model;
    use think\Model;
    
    class NewsPicModel extends Model
    {
    	protected $table="news_pic";
    	//设置主键
    	protected $key="id";
    }
    ?>

    4.视图中index.html代码

  4. {include file="/public/header"}
      <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(\'NewsPic/add\')}')"><i class="layui-icon"></i>添加</button>
            <span class="x-right" style="line-height:40px">共有数据:{$count} 条</span>
          </xblock>
          <table class="layui-table">
            <thead>
              <tr>
                <th>图片ID</th>
                <th>所属新闻</th>
                <th>新闻图片</th>
                <th>发布管理员</th>
                <th>发布日期</th>
                <th >操作</th>
                </tr>
            </thead>
            <tbody>
            {volist name='pics' id='pic'}
              <tr>
                <td>{$pic.id}</td>
                <td>{:GetTitle($pic.news_id)}</td>
                <td><img src="{$pic.pic}"></td>
                <td>{$pic.username}</td>
                <td>{$pic.time|date='Y-m-d H:s:i'}</td>
                <td class="td-manage">
                  <a title="删除" onclick="member_del(this,'{$pic.id}')" href="javascript:;">
                    <i class="layui-icon">&#xe640;</i>
                  </a>
                </td>
              </tr>
              {/volist}
            </tbody>
          </table>
    
          <div class="page">      
          </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(data.msg,{icon:1,time:1000});}
                  })
                  $(obj).parents("tr").remove();
                  layer.msg(data.msg,{icon:1,time:1000});
              });
          }
        </script>
      </body>
    
    </html>

    5.视图中add.html代码:

  5. {include file="/public/header"}
      <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(\'NewsPic/add\')}')"><i class="layui-icon"></i>添加</button>
            <span class="x-right" style="line-height:40px">共有数据:{$count} 条</span>
          </xblock>
          <table class="layui-table">
            <thead>
              <tr>
                <th>图片ID</th>
                <th>所属新闻</th>
                <th>新闻图片</th>
                <th>发布管理员</th>
                <th>发布日期</th>
                <th >操作</th>
                </tr>
            </thead>
            <tbody>
            {volist name='pics' id='pic'}
              <tr>
                <td>{$pic.id}</td>
                <td>{:GetTitle($pic.news_id)}</td>
                <td><img src="{$pic.pic}"></td>
                <td>{$pic.username}</td>
                <td>{$pic.time|date='Y-m-d H:s:i'}</td>
                <td class="td-manage">
                  <a title="删除" onclick="member_del(this,'{$pic.id}')" href="javascript:;">
                    <i class="layui-icon">&#xe640;</i>
                  </a>
                </td>
              </tr>
              {/volist}
            </tbody>
          </table>
    
          <div class="page">      
          </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(data.msg,{icon:1,time:1000});}
                  })
                  $(obj).parents("tr").remove();
                  layer.msg(data.msg,{icon:1,time:1000});
              });
          }
        </script>
      </body>
    
    </html>

    6.为返回数据更加直接易懂,利用common文件将缩略图列表中的新闻id转为新闻标题。


function GetTitle($news_id){
	return Db::connect('qiye')->table('news')->where('id',$news_id)->value('title');
}


批改老师:韦小宝批改时间:2018-11-13 14:10:07
老师总结:一如既往写的很不错!不能骄傲!继续加油吧!骚年!!!

发布手记

热门词条