【PHP笔记十一】TP5.1首页配置+分类功能、

前言:

我们实现的登录功能,接下来就在首页的各个界面配置+分类功能。

1、管理后台主页的HTML配置

删除不需要的模块,仅仅保留四大主要功能模块,并添加点击跳转方法。

   
【PHP笔记十一】TP5.1首页配置+分类功能、_第1张图片

2、设置路由

    // 资源路由
    Route::resource('ad','admin/AdvertController');         // 广告管理
    Route::resource('cat','admin/CategoryController');      // 分类管理
    Route::resource('pic','admin/PictureController');       // 图片管理
    Route::resource('sys','admin/SystemController');         // 系统管理

3、引入视图

分别创建CategoryAdvertPictureSystem、文件夹。
可以在浏览器打开 H-ui.admin_v3.1.3.1相关页面,查看所在的HTML,或者查看网页源码来找到相应的View
依次放入项目中,配置HTML里面的资源路径。

// 仅仅举例,所有涉及的都要修改。

// 仅仅举例,点击方法。
批量删除 添加资讯 共有数据:54

4、创建控制器

CategoryController
AdvertController
PictureController
SystemController

因为是资源路由,控制器会自动生成相关方法。
我们在index方法里面进行主页访问。

  public function index(){
        return view('system/index');  // 返回各自相关View路径
    }

5、访问测试

【PHP笔记十一】TP5.1首页配置+分类功能、_第2张图片

界面配置OK。

6、分类管理添加功能开发

创建分类的数据表。 对分类管理主页的HTML进行删减,得到我们想要的界面。


【PHP笔记十一】TP5.1首页配置+分类功能、_第3张图片

通过Form表单的形式实现添加事件

 

Model类中增加addCat方法

class Category extends Model{
    protected $table = 'sys_category';
    protected $autoWriteTimestamp = true;
    //添加分类
    public function addCat($cat_name,$cat_desc){
        $data = ['name'=>$cat_name,
                'desc'=>$cat_desc];
        if($this->save($data)){
            $res = ['status'=>'success','info'=>'分类添加成功'];
        }else{
            $res = ['status'=>'fail','info'=>'分类添加失败'];
        }
        return $res;
    }
}

在控制器实现Save方法

 public function save(Request $request)
    {
        // 获取用户提交信息
        $cat_name = $request->param('cat_name','');
        $cat_desc = $request->param('cat_desc','');

        // 数据验证
        if(empty($cat_name) || empty($cat_desc) ){
            return $this->error("缺少必填参数",'/admin/cat');
        }
        $category = new Category;
        $res = $category->addCat($cat_name,$cat_desc);
        if($res['status']=='fail'){
            return $this->error($res['info'],'/admin/cat');
        }
        return $this->success($res['info'],'/admin/cat');
    }

7、分类管理数据展示功能开发

index方法中对数据库进行查询,通过assign方法进行数据传递,列表通过volist方法序列展示。

    public function index(){
        $category = new Category;
        $cats = $category->getAllCat();
        if ($cats){
            $this->assign('cats',$cats);
        }
        $catCount = $category->getAllCatCount();
        $this->assign('catCount',$catCount);
        return view('category/index');
    }

Model类中

  //获取所有分类
    public function getAllCat(){
        return $this->select()->toArray();
    }

HTML

  
            {volist name = "cats" id = "vo"}
            
                
                {$i}
                 {$vo.name}
                 {$vo.desc}
                
                    
                    
            
            {/volist}
            

8、分类管理数据修改功能开发

开发思路是:当点击修改数据按钮,我们记录该消息ID并刷新当前页面,将该条信息展示在上方,增加分类变为更新分类

HTML中增加事件处理


{if isset($cat)}
{else/} {/if}

在控制器实现editupdate方法

   public function edit($id) {
        $category = new Category;
        $cat = $category->getOneCat($id);
        $cats = $category->getAllCat();
        $catCount = $category->getAllCatCount();
        $this->assign('cat',$cat);
        $this->assign('cats',$cats);
        $this->assign('catCount',$catCount);
        return view('category/index');
    }
  public function update(Request $request, $id){
    
        // 获取用户提交信息
        $cat_name = $request->param('cat_name','');
        $cat_desc = $request->param('cat_desc','');
        // 数据验证
        if(empty($cat_name) || empty($cat_desc) ){
            return $this->error("缺少必填参数",'/admin/cat');
        }
        $data = ['name'=>$cat_name,
            'desc'=>$cat_desc];
        $category = new Category;
        $res = $category->updateCat($id,$data);

        if($res['status']=='fail'){
            return $this->error($res['info'],'/admin/cat');
        }
        return $this->success($res['info'],'/admin/cat');
    }

Model类中增加updateCat方法

 //更新分类
    public function updateCat($id,$data){
        if($this->where('id',$id)->update($data)){
            $res = ['status'=>'success','info'=>'分类更新成功'];
        }else{
            $res = ['status'=>'fail','info'=>'分类更新失败'];
        }
        return $res;
    }

9、分类管理数据删除功能开发

开发思路是:当点击删除按钮,提示用户是否删除?删除该条数据,并刷新该页面。

设置路由

Route::get('/cat/del/:id','admin/CategoryController/delete');

HTML中增加事件处理

 

在控制器实现 delete方法

 public function delete($id){ 
        $category = new Category;
        $res = $category->deleteCat($id);
        return json($res);
    }

Model类中增加deleteCat方法

 //删除分类
    public function deleteCat($id){
        if($this->where('id',$id)->delete()){
            $res = ['status'=>'success','info'=>'分类删除成功'];
        }else{
            $res = ['status'=>'fail','info'=>'分类删除失败'];
        }
        return $res;
    }

总结:
这样我们的管理后台首页配置+分类模块已完成。
包括:资源文件导入,后台页面引入+配置,资源路由功能使用,增删改查功能逻辑处理。

你可能感兴趣的:(【PHP笔记十一】TP5.1首页配置+分类功能、)