首頁 > php框架 > Laravel > 【laravel】blog專案實戰筆記-彈跳視窗外部插件的引用及後台文章分類的新增編輯等

【laravel】blog專案實戰筆記-彈跳視窗外部插件的引用及後台文章分類的新增編輯等

演明
發布: 2021-09-10 15:32:26
原創
1734 人瀏覽過

這是在Windows環境下做的blog實戰專案。上篇文章我們實作了Ajax非同步修改,但彈跳窗太醜,這篇文章給大家簡單介紹一下,彈跳窗的引用。然後再介紹一下後台文章分類的建立。希望對大家有幫助。

一、引用外部彈跳視窗

介紹個彈窗庫:

http://layer.layui.com/

1)下載:

【laravel】blog專案實戰筆記-彈跳視窗外部插件的引用及後台文章分類的新增編輯等

2)然後將壓縮套件裡的這個檔案拖曳到  步驟3)的路徑下

【laravel】blog專案實戰筆記-彈跳視窗外部插件的引用及後台文章分類的新增編輯等

3)下面這個圖的路徑裡

【laravel】blog專案實戰筆記-彈跳視窗外部插件的引用及後台文章分類的新增編輯等

#4)然後引用

1

<script src="{{URL::asset(&#39;/layer/layer.js&#39;)}}"></script>

登入後複製

5)下一步怎麼去用

1

2

3

4

5

6

7

8

9

10

function onchangeOrder(obj,cate_id){

var cate_order=$(obj).val();

$.post(

"{{url(&#39;home/cate/changeorder&#39;)}}",

{&#39;_token&#39;:&#39;{{csrf_token()}}&#39;,&#39;cate_id&#39;:cate_id,&#39;cate_order&#39;:cate_order},

function(data){

//alert(data.msg);

layer.msg(data.msg, {icon: 6});

});

}

登入後複製

6)更新成功後的圖示

【laravel】blog專案實戰筆記-彈跳視窗外部插件的引用及後台文章分類的新增編輯等

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

function onchangeOrder(obj,cate_id){

var cate_order=$(obj).val();

$.post(

"{{url(&#39;home/cate/changeorder&#39;)}}",

{&#39;_token&#39;:&#39;{{csrf_token()}}&#39;,&#39;cate_id&#39;:cate_id,&#39;cate_order&#39;:cate_order},

function(data){

//alert(data.msg);

//layer.msg(data.msg, {icon: 6});

if(data.status==0){

layer.msg(data.msg, {icon: 6});

}else{

layer.msg(data.msg, {icon: 5});

}

});

}

登入後複製

頁面的完成了,還有就是真正的排序

1

2

3

4

5

public function Tree(){

//$categroy = $this->all();                                                 //这个是去所有数据

$categroy = $this->orderby(&#39;cate_order&#39;,&#39;asc&#39;)->get(); //改成只取一条

return $this->getTree($categroy);

}

登入後複製

二、後台文章分類新增模板指派以及父級分類嵌入

展示頁面view:

1

2

3

4

5

6

7

8

9

10

<form action="{{url(&#39;home/category&#39;)}}" method="post" autocomplete="off">//向后台提交的数据, action="{url(&#39;home/category&#39;)}"申请的路由

<select name="cate_pid">    //下拉选择框

<option value="">=请选择=</option>

<option value="19">精品界面</option>

<option value="20">推荐界面</option>

</select>

<input type="text" name="cate_name">  输入框

<textarea name="cate_keywods"></textarea>  文本框

<button class="btn btn-primary" type="submit" name="submit">添加新栏目</button>

</form>

登入後複製

靜態讀取:

1

2

3

4

5

<select name="cate_pid">

<option value="0">=顶级分类=</option>

<option value="19">精品界面</option>

<option value="20">推荐界面</option>

</select>

登入後複製

動態讀取:

1

2

3

4

5

6

<select name="cate_pid">

<option value="">=顶级分类=</option>

@foreach($data as $d)

<option value="{{$d->cata_id}}">{{$d->cata_name}}</option>

@endforeach

</select>

登入後複製

控制器:

1

2

3

4

5

6

7

8

9

10

11

controller

//GET home/category/create 添加分类

public function create(){

$data = CategroyModel::where(&#39;cate_pid&#39;,0)->get();

return view(&#39;home/categroy/add&#39;,compact(&#39;data&#39;));

}

// POST home/category      填加分类提交

public function store(){

$input=Input::all();  //获取前端的所有提交的数据

dd($input);

}

登入後複製

三、後台文章分類新增資料Validation驗證及入庫

##view錯誤訊息提示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

@if(count((array)$errors)>0)

@if(is_object($errors))

@foreach($errors->all() as $error)

{{$error}}

@endforeach

@else

{{$errors}}

@endif

@endif

controller:

// POST home/category      填加分类提交

public function store(){

//除了token值,其余都要存进数据库,用except排出放将token排除,全部用all

$input=Input::except(&#39;_token&#39;);

$rules = [

&#39;cate_name&#39;=>&#39;required&#39;

];

$message = [

&#39;cate_name.required&#39;=>&#39;分类名称不能为空!&#39;,

];

$validator= Validator::make($input,$rules,$message);

if($validator->passes()){

// 用create将数据都存进数据库

$res = CategroyModel::create($input);

//如果添加成功后返回列表页面

if($res){

return redirect(&#39;home/category&#39;);//成功返回列表页面

}else{

return back()->with(&#39;errors&#39;,&#39;数据填充失败!&#39;);

}

}else{

//dd($validator->errors()->all());

return back()->withErrors($validator);

}

// dd($input);

}

model :

protected $guarded =[];//不可编辑字段包含哪些 $fillable $guarded属性

登入後複製

四、後台文章分類編輯及模擬put方法

頁面展示view:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

<form action="{{url(&#39;home/category/&#39;.$res->cate_id)}}" method="post" autocomplete="off">

     <input type="hidden" name="_method" value="put">   //修改传参方法

  {{csrf_field()}}   //csrf认证

<div class="col-md-5">

<h1 class="page-header">编辑分类</h1>

  @if(count((array)$errors)>0)      //报错信息提示

              @if(is_object($errors))

                 @foreach($errors->all() as $error)

                    {{$error}}

                 @endforeach

              @else

                 {{$errors}}

              @endif

           @endif

<div class="form-group">

<label for="category-fname">父级分类</label>

<select id="category-fname" class="form-control" name="cate_pid">

<option value="0" selected>=顶级分类=</option>

@foreach($data as $d)

<option value="{{$d->cate_id}}"

  @if($d->cate_id==$res->cate_pid) selected @endif     //判断是否是顶级分类

>{{$d->cate_name}}</option>

@endforeach

</select>

</div>

<div class="form-group">

<label for="category-name">分类名称</label>

<input type="text" id="category-name" name="cate_name" value="{{$res->cate_name}}"  class="form-control" placeholder="在此处输入栏目名称"  autocomplete="off">

</div>

<div class="form-group">

<label for="category-alias">分类标题</label>

<input type="text" id="category-alias" name="cate_title" value="{{$res->cate_title}}"  class="form-control" placeholder="在此处输入栏目别名"  autocomplete="off">

</div>

<div class="form-group">

<label for="category-keywords">关键字</label>

<input type="text" id="category-keywords" name="cate_keyword" value="{{$res->cate_keyword}}"   class="form-control" placeholder="在此处输入栏目关键字" autocomplete="off">

</div>

<!--             <div class="form-group"> -->

<!--               <label for="category-describe">描述</label> -->

<!--               <textarea class="form-control" id="cate_describe" name="cate_describe" {{$res->cate_describe}} rows="4" autocomplete="off"></textarea> -->

<!--             </div> -->

<div class="form-group">

<label for="category-keywords">排序</label>

<input type="text" id="category-keywords" name="cate_order" value="{{$res->cate_order}}"  class="form-control" placeholder="在此处输入栏目关键字" autocomplete="off">

</div>

<button class="btn btn-primary" type="submit" >提交</button>

</div>

</form>

登入後複製

value:是指預設值

控制器controller:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

// GET home/category/{category}/edit 编辑分类

//接受前端传过来的参数

public function edit($cate_id){

//查询当前这条的数据

$res = CategroyModel::find($cate_id);

//data数据是读取所有cate_pid等于0的顶级分类

$data = CategroyModel::where(&#39;cate_pid&#39;,0)->get();

//把本来的数据分配到页面当中然后再做修改

return view(&#39;home.categroy.edit&#39;,compact(&#39;res&#39;,&#39;data&#39;));

}

// PUT home/category/{category}   更新分类

//这个参数通过get方法传过来的参数

public function update($cate_id){

//剔除不要的参数

$input=Input::except(&#39;_method&#39;,&#39;_token&#39;);

//update更新cate_id等于2的这条数据

$res = CategroyModel::where(&#39;cate_id&#39;,$cate_id)->update($input);

//如果添加成功后返回列表页面

if($res){

//如果成功跳转到列表页面

return redirect(&#39;home/category&#39;);

}else{

return back()->with(&#39;errors&#39;,&#39;数据填充失败!&#39;);

}

}

登入後複製
以上步驟是我學習的筆記,我把要操作的步驟或重點的記了下來,如果哪有不懂可以留言。謝謝大家支持。希望能為小白提供幫助,如果想看更多blog項目信息,請關注我,下一篇繼續分享。

以上是【laravel】blog專案實戰筆記-彈跳視窗外部插件的引用及後台文章分類的新增編輯等的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
Laravel Space/laravel-backup 無法安裝
來自於 1970-01-01 08:00:00
0
0
0
Laravel 5.1 登入 laravel 自備的 沒有啦
來自於 1970-01-01 08:00:00
0
0
0
composer安裝laravel安裝不上
來自於 1970-01-01 08:00:00
0
0
0
為什麼thinkphp比laravel效能好?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板