Dies ist ein praktisches Blog-Projekt, das in einer Windows-Umgebung durchgeführt wurde. Im letzten Artikel haben wir die asynchrone Ajax-Änderung implementiert, aber das Popup-Fenster war zu hässlich. In diesem Artikel erhalten Sie eine kurze Einführung in die Referenz des Popup-Fensters. Lassen Sie uns dann die Erstellung einer Hintergrundartikelklassifizierung vorstellen. Ich hoffe, es hilft allen. ?? Legen Sie es in das komprimierte Paket. Ziehen Sie diese Datei auf den Pfad von Schritt 3)
3) In den Pfad des Bildes unten
<script src="{{URL::asset('/layer/layer.js')}}"></script>
5) So verwenden Sie es im nächster Schritt
function onchangeOrder(obj,cate_id){ var cate_order=$(obj).val(); $.post( "{{url('home/cate/changeorder')}}", {'_token':'{{csrf_token()}}','cate_id':cate_id,'cate_order':cate_order}, function(data){ //alert(data.msg); layer.msg(data.msg, {icon: 6}); }); }
6) Update erfolgreich Das letzte Symbol
function onchangeOrder(obj,cate_id){ var cate_order=$(obj).val(); $.post( "{{url('home/cate/changeorder')}}", {'_token':'{{csrf_token()}}','cate_id':cate_id,'cate_order':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}); } }); }
Die Seite ist fertig und es erfolgt die eigentliche Sortierung
public function Tree(){ //$categroy = $this->all(); //这个是去所有数据 $categroy = $this->orderby('cate_order','asc')->get(); //改成只取一条 return $this->getTree($categroy); }
2. Fügen Sie der Hintergrundartikelkategorie eine Vorlagenzuweisung hinzu und betten Sie die übergeordnete Kategorie ein
Seitenaufruf anzeigen:
<form action="{{url('home/category')}}" method="post" autocomplete="off">//向后台提交的数据, action="{url('home/category')}"申请的路由 <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>
Statisches Lesen:
<select name="cate_pid"> <option value="0">=顶级分类=</option> <option value="19">精品界面</option> <option value="20">推荐界面</option> </select>
Dynamisches Lesen:
<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('cate_pid',0)->get(); return view('home/categroy/add',compact('data')); } // POST home/category 填加分类提交 public function store(){ $input=Input::all(); //获取前端的所有提交的数据 dd($input); }
3. Backend-Artikelklassifizierung, Hinzufügen von Daten, Validierung, Überprüfung und Speicherung
Anzeigen der Fehlermeldung:@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('_token'); $rules = [ 'cate_name'=>'required' ]; $message = [ 'cate_name.required'=>'分类名称不能为空!', ]; $validator= Validator::make($input,$rules,$message); if($validator->passes()){ // 用create将数据都存进数据库 $res = CategroyModel::create($input); //如果添加成功后返回列表页面 if($res){ return redirect('home/category');//成功返回列表页面 }else{ return back()->with('errors','数据填充失败!'); } }else{ //dd($validator->errors()->all()); return back()->withErrors($validator); } // dd($input); } model : protected $guarded =[];//不可编辑字段包含哪些 $fillable $guarded属性
<form action="{{url('home/category/'.$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('cate_pid',0)->get(); //把本来的数据分配到页面当中然后再做修改 return view('home.categroy.edit',compact('res','data')); } // PUT home/category/{category} 更新分类 //这个参数通过get方法传过来的参数 public function update($cate_id){ //剔除不要的参数 $input=Input::except('_method','_token'); //update更新cate_id等于2的这条数据 $res = CategroyModel::where('cate_id',$cate_id)->update($input); //如果添加成功后返回列表页面 if($res){ //如果成功跳转到列表页面 return redirect('home/category'); }else{ return back()->with('errors','数据填充失败!'); } }
Das obige ist der detaillierte Inhalt von[Laravel] Praktische Hinweise zum Blog-Projekt – Verweise auf externe Popup-Plug-Ins und das Hinzufügen und Bearbeiten von Hintergrundartikelkategorien usw.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!