[laravel] 블로그 프로젝트 실용 노트 - 팝업 외부 플러그인 참조 및 배경 기사 카테고리 추가 및 편집 등

演明
풀어 주다: 2021-09-10 15:32:26
원래의
1447명이 탐색했습니다.

Windows 환경에서 진행된 실용적인 블로그 프로젝트입니다. 지난 글에서는 Ajax 비동기 수정을 구현했는데, 팝업창이 너무 보기 흉했습니다. 이번 글에서는 팝업창에 대한 참고 사항을 간략하게 소개하겠습니다. 그럼 배경기사 분류 생성에 대해 소개하겠습니다. 그것이 모두에게 도움이 되기를 바랍니다.

1. 외부 팝업창 참고

팝업창 라이브러리 소개:

http://layer.layui.com/

1) 다운로드:

[laravel] 블로그 프로젝트 실용 노트 - 팝업 외부 플러그인 참조 및 배경 기사 카테고리 추가 및 편집 등

2) 그런 다음 압축된 패키지에 넣으세요. 이 파일을 3)의 경로로 드래그하세요.

[laravel] 블로그 프로젝트 실용 노트 - 팝업 외부 플러그인 참조 및 배경 기사 카테고리 추가 및 편집 등

3) 아래 그림의 경로로

[laravel] 블로그 프로젝트 실용 노트 - 팝업 외부 플러그인 참조 및 배경 기사 카테고리 추가 및 편집 등

4) 그런 다음

<script src="{{URL::asset(&#39;/layer/layer.js&#39;)}}"></script>
로그인 후 복사

5)를 인용하세요. 다음 단계

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] 블로그 프로젝트 실용 노트 - 팝업 외부 플러그인 참조 및 배경 기사 카테고리 추가 및 편집 등

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});
}
});
}
로그인 후 복사

페이지가 완성되고 실제 정렬이 이루어집니다

public function Tree(){
//$categroy = $this->all();                                                 //这个是去所有数据
$categroy = $this->orderby(&#39;cate_order&#39;,&#39;asc&#39;)->get(); //改成只取一条
return $this->getTree($categroy);
}
로그인 후 복사

2. 배경 글 카테고리에 템플릿 할당을 추가하고 상위 카테고리를 삽입합니다

Display Page보기 :

<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>
로그인 후 복사

static 읽기 :

<select name="cate_pid">
<option value="0">=顶级分类=</option>
<option value="19">精品界面</option>
<option value="20">推荐界面</option>
</select>
로그인 후 복사

dynamic 읽기 :

r

<select name="cate_pid">
<option value="">=顶级分类=</option>
@foreach($data as $d)
<option value="{{$d->cata_id}}">{{$d->cata_name}}</option>
@endforeach
</select>
로그인 후 복사

controller :

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);
}
로그인 후 복사

3. 백엔드 기사 분류 데이터 유효성 검사 및 스토리지 추가

view error 메시지 프롬프트 :

@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属性
로그인 후 복사

4 . 백엔드 기사 분류 편집 및 시뮬레이션 넣기 방법

페이지 표시 보기:

<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>
로그인 후 복사

값: 기본값을 나타냅니다.

컨트롤러 컨트롤러:

// 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;);
}
}
로그인 후 복사
위 단계는 제가 공부한 단계나 요점을 적어 두었습니다. 이해하지 못하는 경우 메시지를 남길 수 있습니다. 귀하의 지원에 감사드립니다. Xiaobai에 도움이 되기를 바랍니다. 더 많은 블로그 프로젝트 정보를 보고 싶으시다면 저를 팔로우해 주세요. 다음 글에서 계속 공유하겠습니다.

위 내용은 [laravel] 블로그 프로젝트 실용 노트 - 팝업 외부 플러그인 참조 및 배경 기사 카테고리 추가 및 편집 등의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿