Heim >CMS-Tutorial >DEDECMS >Was soll ich tun, wenn die kostenlose Liste dede5.7 nicht mehrere Schlüsselwörter erhalten kann?
Die kostenlose Dede5.7-Liste kann nicht mehrere Schlüsselwörter enthalten?
In diesem Artikel wurde eine vollständige Lösung für das Problem zusammengestellt, dass die kostenlose Liste dede5.7 nicht mehrere Schlüsselwörter erhalten kann, und Freunde in Not können daraus lernen.
Empfohlenes Lernen: Dreamweaver cms
Werfen wir zunächst einen Blick auf die Schnittstelle zum Hinzufügen einer kostenlosen Liste in DEDE5.7.
Wie wir auf dem Bild sehen können, schreibt DEDE unter normalen Umständen offiziell, dass mehrere Schlüsselwörter verwendet werden können: Schlüsselwort 1, Schlüsselwort 2, Schlüsselwort 3 ... , aber ich Ich weiß nicht, ob es sich um einen offiziellen Fehler handelt oder aus anderen Gründen. Nach dem Hinzufügen mehrerer Schlüsselwörter kann kein Inhalt abgerufen werden. Basierend auf den von allen gemeldeten Problemen haben wir eine vollständige Lösung für dieses Problem zusammengestellt . Methode.
Beteiligte Dateien: Ersetzen Sie includearc.freelist.class.php
Wir können sehen, dass der beteiligte Code wie im Bild oben gezeigt ist.
Verstecken wir zuerst die beiden Codes!
Lassen Sie uns selbst eine entsprechende Erklärung verfassen:
$orwhere .= "AND (".$this->GetKeywordSql($keyword)." )";
Schließlich suchen wir den Ort unten und fügen die relevanten Suchbedingungen und Regeln hinzu, die wir geschrieben haben
function GetKeywordSql($keyword) { $ks = explode(',',$keyword); $kwsql = ''; $kwsqls = array(); foreach($ks as $k) { $k = trim($k); if(strlen($k)<1) { continue; } if(ord($k[0])>0x80 && strlen($k)<2) { continue; } $k = addslashes($k); $kwsqls[] = " arc.title LIKE '%$k%' "; } if(!isset($kwsqls[0])) { return ''; } else { $kwsql = join(' OR ',$kwsqls); return $kwsql; } } /** * 获得关键字SQL,统计记录使用 * * @access private * @return string */ function GetRowSql($keyword) { $ks = explode(',',$keyword); $kwsql = ''; $kwsqls = array(); foreach($ks as $k) { $k = trim($k); if(strlen($k)<1) { continue; } if(ord($k[0])>0x80 && strlen($k)<2) { continue; } $k = addslashes($k); $kwsqls[] = " title LIKE '%$k%' "; } if(!isset($kwsqls[0])) { return ''; } else { $kwsql = join(' OR ',$kwsqls); return $kwsql; }
Fügen Sie den obigen Code am Ende der Seite hinzu, und jetzt kann die Mehrfachschlüsselwortfunktion der kostenlosen DEDE-Liste verwendet werden!
Es ist noch nicht vorbei! Der Redakteur ist während des eigentlichen Testvorgangs auf ein Problem gestoßen. Wir haben zwei Schlüsselwörter hinzugefügt, um eine weitere Filterung zu ermöglichen oder um umfassendere Schlüsselwörter hinzuzufügen. Dieses Problem hat mich schon lange beschäftigt, ich habe die entsprechenden Lösungen getestet:
Das können wir an dieser Stelle sehen, wenn wir „OR“ verwenden. bedeutet ODER, was bedeutet, dass wir den Suchumfang erweitern, sodass Artikel mit angezeigten Schlüsselwörtern angezeigt werden. Wenn wir zu „UND“ wechseln, bedeutet dies, dass der Suchumfang eingegrenzt wird, was bedeutet, dass beide Schlüsselwörter im Artikel enthalten sind. Wort 1 muss auch Schlüsselwort 2 haben.
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die kostenlose Liste dede5.7 nicht mehrere Schlüsselwörter erhalten kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!