Maison Tutoriel CMS DEDECMS dede:Que faire s'il y a une erreur dans l'association entre les balises d'article likearticle et les balises tag

dede:Que faire s'il y a une erreur dans l'association entre les balises d'article likearticle et les balises tag

Dec 27, 2019 am 10:12 AM
dede

dede:Que faire s'il y a une erreur dans l'association entre les balises d'article likearticle et les balises tag

dede : Que dois-je faire si la balise d'article likearticle et la balise tag sont associées de manière incorrecte ?

DreamWeaver 5.7 a une balise dede:likearticle qui est utilisée pour associer des articles, mais pendant le processus d'utilisation, nous avons constaté que cette association est vraiment inutile, mais l'auteur a constaté que tout le monde utilise DreamWeaver Est-ce toujours acceptable lors de la recherche de 5.7 ? L'auteur a remplacé la fonction de recherche de dede par cet article similaire, et cela semble être bien meilleur.

Apprentissage recommandé : Dreamweaver cms

Introduction au code

L'auteur a modifié les mots-clés par défaut pour associer les articles à des balises, et un jugement a été ajouté. Après avoir exécuté la requête floue basée sur les balises, si les données de la requête sont vides, interrogez à nouveau directement tous les articles recommandés sous cette colonne. C'est mieux, c'est-à-dire que la valeur de retour est toujours conservée.

L'auteur considère que certains articles n'ont pas de balises, et certains articles ont des balises mais aucun article n'est trouvé, il détermine donc d'abord s'il y a des balises. Sinon, il interroge directement les articles recommandés dans cette colonne. S'il y a des balises, l'article n'est pas trouvé. Si des articles vides sont trouvés, les articles recommandés dans la colonne actuelle seront également renvoyés.

Solutions/étapes pour associer les balises likearticle et tag

Étape 1 : Utilisez le Bloc-notes ou certains outils pour ouvrir le fichier "répertoire racine includetagliblikearticle.lib.php".

Étape 2 : Recherchez "['keywords']", remplacez tout par ['tags'] et enregistrez.

Remarque du réseau d'entraide informatique :

Ligne de code originale 55 : $keyword = ( !empty($refObj->Fields['keywords']) ? $refObj->Fields[ 'keywords'] : '' );

Ligne de code d'origine 75 : if(!empty($refObj->Fields['keywords']))

Ligne de code d'origine 77 : $ mots-clés = éclater(',' , trim($refObj->Fields['keywords']));

Étape 3 : Ajoutez "$keyword .= $keyword=='' sous la ligne 87 ? " CONCAT(arc.title,arc.keywords,arc.shorttitle) REGEXP '($k)'": " OU CONCAT(arc.title,arc.keywords,arc.shorttitle) REGEXP '($k)'"; "

Déconnexion à la ligne 87 du code source : //$keyword .= ($keyword=='' ? " CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' ");

dede:Que faire sil y a une erreur dans lassociation entre les balises darticle likearticle et les balises tag

Réseau d'entraide informatique Ajouter un code Signification : Original Flou En ce qui concerne l'instruction de requête, l'auteur a ajouté un titre court ici et voulait également l'interroger. Cependant, je n'aime pas utiliser linke, une requête floue, je l'ai donc changé en requête REGEXP ici.

Étape 4 : Ajoutez le code suivant sous la ligne 107 et enregistrez.

Le code est le suivant :

/**
按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);
}
Copier après la connexion

Ce qui suit est une image de toutes les déconnexions des lignes 101 à 107 du code source :

dede:Que faire sil y a une erreur dans lassociation entre les balises darticle likearticle et les balises tag

La signification du code ci-dessus : la requête2 associée au contenu de l'article par tag tag est une sauvegarde Si les données interrogées par tag tags sont vides, la seconde peut être utilisée.

Étape 5 : Ajoutez le code suivant sous la ligne 117 du code d'origine et enregistrez.

Le code est le suivant :

$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);
Copier après la connexion

Ce qui suit est une image de toutes les déconnexions des lignes 111 à 117 du code source :

dede:Que faire sil y a une erreur dans lassociation entre les balises darticle likearticle et les balises tag

La signification du code ci-dessus : La cinquième étape est de vérifier quand la balise tags a du contenu. La cinquième étape est le SQL exécuté lorsque la balise tags n'est pas vide.

Étape 6 : Une fois terminé, téléchargez-le dans l'espace. L'auteur ne démontrera pas l'effet du code. Si vous voulez vraiment voir l'effet, lisez simplement les articles associés sur le côté droit de cet article. .

Parce que certains internautes ne sont pas sensibles à SQL, ils peuvent penser qu'ils ne comprennent rien de ce qui est écrit dans cet article et qu'ils ne peuvent pas le modifier. Ceci n'a pas d'importance. Ceci est l'adresse de téléchargement : likearticle. .lib.rar

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)