Heim > CMS-Tutorial > DEDECMS > Hauptteil

Was soll ich tun, wenn die von Dedecms verwendete Gewichtssortierungsmethode nicht funktioniert?

藏色散人
Freigeben: 2019-12-11 10:19:27
Original
2002 Leute haben es durchsucht

Was soll ich tun, wenn die von Dedecms verwendete Gewichtssortierungsmethode nicht funktioniert?

Was soll ich tun, wenn die von DreamWeaver dedecms verwendete Gewichtssortierung ungültig ist?

Das Beispiel in diesem Artikel beschreibt die Lösung für die ungültige Verwendung der Gewichtssortierung durch DreamWeaver dedecms. Teilen Sie es als Referenz mit allen. Die spezifische Methode ist wie folgt:

Empfohlenes Lernen: Dreamweaver cms

dedecms5.7 hat einen Fehler bei der Gewichtssortierung. Hier erkläre ich Ihnen Schritt für Schritt, wie es geht Lösen Sie das Problem der ungültigen Gewichtslösung.

Die betroffene Datei ist die Datei includetaglibarclist.lib.php, etwa Zeile 570:

Der Code lautet wie folgt:

if ( $isweight=='y')
Nach dem Login kopieren

Diese Codezeile ist einfach nutzlos,

Der Code lautet wie folgt:

$orderWeight = list_sort_by($orderWeight,'weight', 'asc');
Nach dem Login kopieren

Sortieren Sie die Ergebnisse. Dies ist problematisch, da vor dem Abrufen von $orderWeight die Anweisung zum Abrufen der Dokumenttabelle lautet:

Der Code lautet wie folgt:

SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath 
FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id WHERE arc.typeid IN (29) AND 
arc.arcrank > -1 ORDER BY arc.sortrank DESC
Nach dem Login kopieren

Es ist offensichtlich, dass wir beim Schreiben des Tags schreiben:

Der Code lautet wie folgt:

{dede:arclist orderby='weight' typeid='29' isweight='y' 
limit='4,1' titlelen='100' infolen='100' }
Nach dem Login kopieren

Die ursprüngliche Absicht ist, dass die Daten sortiert werden nach Gewicht, und das Verarbeitungsprogramm basiert auf Für die von sortrank abgerufene Datenbank dient die Angabe von isweight='y' nur dazu, die abgerufenen Datensätze nach Gewicht zu sortieren.

Die Lösung ist also sehr einfach: Fügen Sie in Zeile 330 der Programmdatei eine Zeile mit nach Gewicht sortierten Verarbeitungsanweisungen hinzu:

Der Code lautet wie folgt:

else if($orderby =='weight') $ordersql = " order by arc.weight asc";
Nach dem Login kopieren

Trennen wir ein weiteres let. Das Listen-Tag unterstützt die Gewichtssortierung:

Der Code lautet wie folgt:

{dede:list pagesize=&#39;10&#39; titlelen=&#39;50&#39; orderby=&#39;weight&#39;} ?[field:textlink/]<br/> {/dede:list}
Nach dem Login kopieren

Lösung:

1. Öffnen Sie den Dateibogen .listview.class.php

2. Suchen Sie den

-Code wie folgt:

else if($orderby=="lastpost") {
Nach dem Login kopieren

-Anweisung, die sich wahrscheinlich in Zeile 609 befindet. Drücken Sie davor die Eingabetaste Zeile und fügen Sie die folgende Anweisung ein:

Der Code lautet wie folgt:

else if($orderby=="weight") { $ordersql = " order by arc.weight $orderWay"; }
Nach dem Login kopieren

3. Suchen Sie weiter nach dem

-Code wie folgt:

if(ereg(&#39;hot|click|lastpost&#39;,$orderby))
Nach dem Login kopieren


Anweisung, geändert zu:

Der Code lautet wie folgt:

if(ereg(&#39;hot|click|weight|lastpost&#39;,$orderby))
Nach dem Login kopieren

Nach der Änderung speichern Sie ihn, wenn die Gewichtssortierung durchgeführt wurde Im Ziel verwendet, generieren Sie es und Sie können sehen, dass die Gewichtssortierung in der Dokumentenliste installiert wurde

4. Vorlagenaufruf:

Der Code lautet wie folgt:

{dede:arclist row=&#39;10&#39; titlelen=&#39;50&#39; orderby=&#39;weight&#39;} ?[field:textlink/]<br/> {/dede:arclist}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die von Dedecms verwendete Gewichtssortierungsmethode nicht funktioniert?. 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