Heim > PHP-Framework > Laravel > Hauptteil

[Laravel] Praktische Hinweise zum Blog-Projekt – Erstellung mehrstufiger Klassifizierungslisten im Hintergrund und asynchrone Ajax-Änderung der Klassifizierungssortierung

演明
Freigeben: 2021-09-09 16:54:02
Original
1157 Leute haben es durchsucht

Ich möchte immer ein kleines Projekt alleine machen, aber ich weiß nicht, wie ich anfangen soll. Wenn ich zur Arbeit gehe, mache ich kein Projekt als Ganzes Dies sind die Notizen, die ich als Referenz zusammengestellt habe, nachdem ich das Video auf der chinesischen PHP-Website angesehen habe. Dies ist ein praktisches Blog-Projekt, das in einer Windows-Umgebung erstellt wurde. Ich habe sie Abschnitt für Abschnitt geteilt. Wenn Sie mehr sehen möchten, werde ich weiter aktualisieren. ?? Behandeln Sie die Klassifizierung

public function getTree(){
}
Nach dem Login kopieren

3) Passen Sie oben die folgende Methode in der Methode an

$data = $this->getTree($categroy);
public function index(){
$categroy = CategroyModel::all();
$data = $this->getTree($categroy,'cate_name','cate_pid','cate_id');
return view('home/categroy/index')->with('data',$data);
}
Nach dem Login kopieren
4) Drucken Sie unten, um zu sehen, ob die oben genannten Parameter übergeben werden

public function getTree($data){
dd($data);
}
Nach dem Login kopieren

5) Filtern Sie zuerst diejenigen heraus, deren cate_pid 0 ist, und durchlaufen Sie dann den Zyklus erneut um diejenigen herauszufiltern, deren cate_pid und cate_id gleich sind. Damit die Methode leistungsfähiger ist, haben wir uns überlegt, die Methode der Parameterübergabe zu verwenden Controller in das Modell

public function getTree($data,'$file_pid=‘pid’,$file_id=‘id’,$pid=0){
     $arr = array();
   foreach($data as $key =>$value){
if($value->$file_pid==$pid){
$data[$key]["_cate_name"]=$data[$key]["cate_name"];
$arr[] = $data[$key];
foreach($data as $k=>$v{
                    if($value->$file_pid==$v->$file_id){
      //新定义个字段把分类的下级定义出来
$data[$k]["_cata_name"]='-->'.$data[$k]["cate_name"]
$arr[]=$data[$v];
}
       }
      }
   }
Nach dem Login kopieren

Änderungen im Controller:

public static function tree(){   //用的是静态方法
$categroy =  CategroyModel::all();
return (new CategroyModel)->getTree($categroy,'cate_name','cate_pid','cate_id');
}
public function tree(){
$categroy = $this->all();
return $this->getTree($categroy,'cate_name','cate_pid','cate_id');
}
public function getTree($data,'$file_pid=‘pid’,$file_id=‘’,$pid=0){
$arr = array();
foreach($data as $key =>$value){
if($value->$file_pid==$pid){
$data[$key]["_cate_name"]=$data[$key]["cate_name"];
$arr[] = $data[$key];
foreach($data as $k=>$v{
if($value->$file_pid==$v->$file_id){
//新定义个字段把分类的下级定义出来
$data[$k]["_cata_name"]='-->'.$data[$k]["cate_name"]
$arr[]=$data[$v];
}
}
}
}
Nach dem Login kopieren

2. Ajax ändert asynchron die Klassifizierungssortierung der Hintergrundartikelkategorieseite

1) Überprüfen Sie, ob jquery in der Hauptvorlage eingeführt ist

2) Schreiben Sie JS

public function index(){
// $data= CategroyModel::Tree();   不是静态方法不能用静态方法调用   调用静态方法
$data =(new CategroyModel)->Tree();   调用不是静态方法
return view('home/categroy/index')->with('data',$data);
}
Nach dem Login kopieren

Schreiben Sie das Grundformat von jquery

$(function(){});
Nach dem Login kopieren

3) Verwenden Sie JS zum asynchronen Senden

weil ich möchte, dass Ereignisse gesendet werden, wenn dieses Eingabeformular bedient wird,

$(function(){
alert();
});
Nach dem Login kopieren

4) (2) dient zum Testen,

<input type="text" onchange="onchangeOrder()" value="{{$v->cate_order}}">  //加一个事件onchange,请求方法onchangeOrder方法
Nach dem Login kopieren

5) Weiter , eine asynchrone Anfrage wird gesendet

function onangeOrder(){
alert();
}
Nach dem Login kopieren

6) Adresszuweisung

function onchangeOrder(){
$.post("",{});//第一个url,第二个参数,第三个是回调函数function($data){}回调函数里我们用$data接收
}
Nach dem Login kopieren

7) Routenzuweisung

function onchangeOrder(){
$.post("{{url(&#39;admin/cate/changeorder&#39;)}}",{},function($data){});
}
Nach dem Login kopieren

8) Erstellen Sie einen neuen Controller CategoryController.php

Route::post(&#39;admin/changeorder&#39;,&#39;CategoryController@changeorder&#39;);
Nach dem Login kopieren

9) Übergeben Sie den Token-Wert an den Hintergrund

public function changeorder(){
      echo 123;
   }
Nach dem Login kopieren

10) Passen ein paar weitere Parameter. Der erste Parameter ist der _token-Parameter und der zweite Parameter ist die Information darüber, welcher Parameter geändert werden soll. Die drei Parameter geben an, wie stark diese Klassifizierungsinformationen geändert werden sollen. Welche Informationen müssen geändert werden? um diese Klassifizierungsinformationen zu ändern in

function onchangeOrder(){
$.post("{{url(&#39;admin/cate/changeorder&#39;)}}",{&#39;_token&#39;:&#39;{{csrf_token()}}&#39;},function($data){});
}
Nach dem Login kopieren

11) Die folgenden Akzeptanzparameter, der erste ist das Objekt, der zweite ist cate_id

<input type="text" onchange="onchangeOrder({{$v->cate_id}})" value="{{$v->cate_order}}">
Nach dem Login kopieren

12) Lesen Sie den Wert, den wir gerade über obj eingeben

Dann definieren wir eine Variable, cate_order ist gleich $() und übergibt dann obj, und dann übergeben wir .val()

<input type="text" onchange="onchangeOrder(this,{{$v->cate_id}})" value="{{$v->cate_order}}"> //能找到当前输入的值到底多少
Nach dem Login kopieren

und cate_id. Die übergebenen Parameter müssen nicht verarbeitet werden

13) Hier sind einige zu verarbeitende Parameter

function onchangeOrder(obj,cate_id){
$.post("{{url(&#39;home/cate/changeorder&#39;)}}",{&#39;_token&#39;:&#39;{{csrf_token()}}&#39;},function($data){});
}
Nach dem Login kopieren

14) So akzeptieren Sie es, nachdem Sie es an den Controller übergeben haben

function onchangeOrder(obj,cate_id){
var cate_order=$(obj).val();
$.post("{{url(&#39;home/cate/changeorder&#39;)}}",{&#39;_token&#39;:&#39;{{csrf_token()}}&#39;},function($data){});
}
Nach dem Login kopieren

15) Rufen Sie dann die entsprechenden cate_id-Daten aus der Datenbank ab, ändern Sie den Wert der entsprechenden cate_order und befolgen Sie dann die neuen Wenn diese Daten vorliegen

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){});
}
Nach dem Login kopieren

16) aktualisiert wird, wird eine Eingabeaufforderung an die Rezeption gesendet. Dies ist, wenn wir ein $data[] an die Rezeption übergeben Wenn das Popup-Fenster zu hässlich ist, werden im nächsten Abschnitt die Informationen zur Popup-Installation mit Ihnen geteilt.

Die oben genannten Schritte sind meine Lernnotizen. Ich habe die Schritte oder wichtigsten Punkte aufgeschrieben, die ausgeführt werden müssen. Wenn Sie etwas nicht verstehen, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung. Ich hoffe, es kann Xiaobai helfen. Wenn Sie weitere Informationen zum Blog-Projekt sehen möchten, folgen Sie mir und ich werde es im nächsten Artikel weitergeben.

Verwandte Empfehlungen: „

Laravel-Tutorial

Das obige ist der detaillierte Inhalt von[Laravel] Praktische Hinweise zum Blog-Projekt – Erstellung mehrstufiger Klassifizierungslisten im Hintergrund und asynchrone Ajax-Änderung der Klassifizierungssortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!