Heim >CMS-Tutorial >DEDECMS >dede:Was tun, wenn bei der Zuordnung zwischen likearticle-Artikel-Tags und Tag-Tags ein Fehler auftritt?

dede:Was tun, wenn bei der Zuordnung zwischen likearticle-Artikel-Tags und Tag-Tags ein Fehler auftritt?

藏色散人
藏色散人Original
2019-12-27 10:12:162179Durchsuche

dede:Was tun, wenn bei der Zuordnung zwischen likearticle-Artikel-Tags und Tag-Tags ein Fehler auftritt?

dede: Was soll ich tun, wenn das Likearticle-Artikel-Tag und das Tag-Tag falsch verknüpft sind?

DreamWeaver 5.7 verfügt über ein dede:likearticle-Tag, das zum Verknüpfen von Artikeln verwendet wird. Während des Verwendungsprozesses stellten wir jedoch fest, dass diese Zuordnung wirklich nutzlos ist. Der Autor stellte jedoch fest, dass jeder DreamWeaver verwendet Ist es bei der Suche nach 5.7 noch akzeptabel? Der Autor hat die Suchfunktion von dede durch diesen ähnlichen Artikel ersetzt und es scheint viel besser zu sein.

Empfohlenes Lernen: Dreamweaver cms

Code-Einführung

Der Autor hat die Standardschlüsselwörter geändert, um Artikel mit Tags zu verknüpfen, und ein Urteil wurde hinzugefügt. Wenn nach der Ausführung der Fuzzy-Abfrage basierend auf Tags die Abfragedaten leer sind, fragen Sie alle empfohlenen Artikel in dieser Spalte erneut ab. Dies ist besser, das heißt, der Rückgabewert wird immer beibehalten.

Der Autor geht davon aus, dass einige Artikel keine Tags haben und einige Artikel Tags haben, aber es wurde kein Artikel gefunden. Daher stellt er zunächst fest, ob Tags vorhanden sind. Wenn nicht, fragt er direkt die empfohlenen Artikel in dieser Spalte ab. Wenn Tags vorhanden sind, wird der Artikel nicht gefunden. Wenn leere Artikel gefunden werden, werden auch empfohlene Artikel unter der aktuellen Spalte zurückgegeben.

Lösungen/Schritte zum Verknüpfen von Likearticle- und Tag-Tags

Schritt 1: Verwenden Sie Notepad oder einige Tools, um die Datei „Stammverzeichnis includetagliblikearticle.lib.php“ zu öffnen.

Schritt 2: Suchen Sie nach „['keywords']“, ersetzen Sie alle durch ['tags'] und speichern Sie.

Computer Mutual Aid Network Hinweis:

Originalcode Zeile 55: $keyword = ( !empty($refObj->Fields['keywords']) ? $refObj->Fields[ 'keywords'] : '' );

Originalcodezeile 75: if(!empty($refObj->Fields['keywords']))

Originalcodezeile 77: $ keywords = explosion(',' , trim($refObj->Fields['keywords']));

Schritt 3: Fügen Sie „$keyword .= $keyword=='' unter Zeile 87 hinzu? „ CONCAT(arc.title,arc.keywords,arc.shorttitle) REGEXP '($k)'": " OR CONCAT(arc.title,arc.keywords,arc.shorttitle) REGEXP '($k)'"; "

Abmelden in Zeile 87 des Quellcodes: //$keyword .= ($keyword=='' ? " CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' ");

dede:Was tun, wenn bei der Zuordnung zwischen likearticle-Artikel-Tags und Tag-Tags ein Fehler auftritt?

Computer Mutual Aid Network Code-Bedeutung hinzufügen: Original Blur Was die Abfrageanweisung betrifft, hat der Autor hier einen kurzen Titel hinzugefügt und wollte sie auch abfragen. Allerdings verwende ich nicht gerne Linke, eine Fuzzy-Abfrage, also habe ich sie hier in REGEXP-Abfrage geändert.

Schritt 4: Fügen Sie den folgenden Code unter Zeile 107 hinzu und speichern Sie ihn.

Der Code lautet wie folgt:

/**
按tag标签关联文章内容 query2为备用,如果query为空的话,第二个就直接显示出来
*/
$query = "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 $keyword and arc.ismake = 1 and arc.id <> $arcid ORDER BY arc.sortrank desc LIMIT 0,$row";
$typeids=$refObj->Fields[&#39;typeid&#39;];//取出当前栏目ID
$query2 = "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 FIND_IN_SET(&#39;c&#39;, arc.flag)>0 and arc.ismake = 1 And (arc.typeid in ($typeids) or arc.typeid2 in($typeids) or CONCAT( &#39;,&#39;, arc.typeid2, &#39;,&#39; ) LIKE &#39;%,$typeids,%&#39; ) And arc.arcrank > -1 ORDER BY arc.sortrank desc LIMIT 0,$row";
/*query3是判断是否为空用的*/
$query3 = "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 $keyword and arc.ismake = 1 and arc.id <> $arcid ORDER BY arc.sortrank desc LIMIT 0,$row";//这里的SQL具体按自己的数据库的表字段写吧,我这是直接写死了,哎没办法,能力有限。
/*
这里是判断tags标签查询的是否为空值,如果是空值,就全部使用推荐返回值,如果有值,就直接显示tags关联。
*/
$result =mysql_query($query3);//query36判断专用的,主要是作者不会用SetQuery呀,郁闷。我是直接拼的SQL
if(mysql_num_rows($result)<1){
$dsql->SetQuery($query2);
}else{
$dsql->SetQuery($query);
}

Das Folgende ist ein Bild aller Abmeldungen von den Zeilen 101 bis 107 des Quellcodes. Klicken Sie auf das Bild, um ein größeres Bild zu sehen:

dede:Was tun, wenn bei der Zuordnung zwischen likearticle-Artikel-Tags und Tag-Tags ein Fehler auftritt?

Die Bedeutung des obigen Codes: query2, der mit dem Artikelinhalt nach Tag verknüpft ist, ist eine Sicherung. Wenn die nach Tags abgefragten Daten leer sind, kann der zweite verwendet werden.

Schritt 5: Fügen Sie den folgenden Code unter Zeile 117 des Originalcodes hinzu und speichern Sie ihn.

Der Code lautet wie folgt:

$typeids=$refObj->Fields[&#39;typeid&#39;];//取出当前栏目ID
$query = "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 FIND_IN_SET(&#39;c&#39;, arc.flag)>0 and arc.ismake = 1 And (arc.typeid in ($typeids) or arc.typeid2 in($typeids) or CONCAT( &#39;,&#39;, arc.typeid2, &#39;,&#39; ) LIKE &#39;%,$typeids,%&#39; ) And arc.arcrank > -1 ORDER BY arc.sortrank desc LIMIT 0,$row";
$dsql->SetQuery($query);

Das Folgende ist ein Bild aller Abmeldungen von den Zeilen 111 bis 117 des Quellcodes. Klicken Sie auf das Bild, um ein größeres Bild zu sehen:

dede:Was tun, wenn bei der Zuordnung zwischen likearticle-Artikel-Tags und Tag-Tags ein Fehler auftritt?

Die Bedeutung des obigen Codes: Der fünfte Schritt besteht darin, zu überprüfen, ob das Tags-Tag Inhalt hat. Der fünfte Schritt ist die Ausführung von SQL, wenn das Tags-Tag nicht leer ist.

Schritt 6: Laden Sie es nach Abschluss in den Bereich hoch. Der Autor wird die Wirkung des Codes nicht demonstrieren. Wenn Sie die Wirkung wirklich sehen möchten, lesen Sie einfach die entsprechenden Artikel auf der rechten Seite dieses Artikels .

Da einige Internetnutzer nicht empfindlich auf SQL reagieren, denken sie möglicherweise, dass sie nichts in diesem Artikel verstehen und es nicht ändern können. Dies ist die Download-Adresse: likearticle .lib.rar

Das obige ist der detaillierte Inhalt vondede:Was tun, wenn bei der Zuordnung zwischen likearticle-Artikel-Tags und Tag-Tags ein Fehler auftritt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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