


La méthode la plus pratique pour implémenter des liens liés aux requêtes entre tables dans Empire CMS
L'exemple de cet article décrit la méthode d'implémentation des liens liés aux requêtes croisées dans Empire CMS. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
Les liens connexes officiels ne sont pas flexibles, le style ne peut pas être modifié arbitrairement et ne peut pas traverser les tableaux. De nombreuses personnes souhaitent créer des liens connexes entre les tableaux. Par exemple, les actualités et les informations contiennent plusieurs articles. avec des mots-clés « Pékin », alors comment appeler ces articles avec le même mot-clé ? J'ai écrit une fonction personnalisée à cet effet
Il est recommandé d'étudier le "Tutoriel Empire cms"
Une petite gamme d'appels peut être utilisée dans cette catégorie A. une plage légèrement plus grande peut appeler la même table. Si l'article est plus grand, vous pouvez appeler l'article de la table spécifiée. Vous pouvez choisir le nombre d'articles à appeler. En fait, vous pouvez également mettre à niveau, par exemple en spécifiant le nombre d'articles. pour appeler une certaine table, l'ordre de cette table, etc. La fonction n'a pas de style, vous pouvez donc la comprendre un peu. Le code peut être modifié par vous-même, ce n'est pas particulièrement difficile. Si quelqu'un a mis à jour cette fonction, vous pouvez le partager avec tout le monde.
Le code est le suivant :
<?php function user_OtherLink($tbname,$num,$ck){ global $navinfor,$empire,$dbtbpre,$class_r ; $ck=(int)$ck ; if($ck==1||$ck==2){ $tbname=$class_r[$navinfor['classid']]['tbname'] ; } $num= $num=='' ? 5 : $num ; //缺省获取数量为5 $tag_all=explode(',',$navinfor['infotags']); $tbname_num=explode(',',$tbname) ; $eq_num=ceil($num/count($tag_all)); for($i=0;$i<count($tag_all);$i++){ $r_1_1 =$empire->fetch1("select tagid,tagname,num,isgood,cid from {$dbtbpre}enewstags where tagname='". $tag_all[$i]."' order by tagid limit 1") ; $tag_id[$i]=$r_1_1['tagid'] ; //tag的ID $tag_num[$i]=$r_1_1['num'] ; //tag下的文章数量 if($tag_num[$i]>=$eq_num){//如果TAG下的文章数量比平均的数量大或者等于,那么TAG的文章数量取平均值 $tag_num[$i] = $eq_num ;//重新赋值 }else{//如果TAG下的文章小于平均值,那么TAG取原有的文章数量。同时重新赋值平均值。 $eg_tag= $eq_num-$tag_num[$i] ; $eq_num += $eg_tag ; } //比如说有3个TAG,每个TAG下有4篇文章,现在指定要显示10篇文章,那么每个TAG要拿出4篇,共有12篇文章 //3个TAG,每个TAG下有3篇文章,现在指定要显示10篇文章,那么每个TAG要拿出3篇文章,共有9篇文章 //3个TAG,A有2篇文章,B有5篇文章,C有3篇文章,现在要显示10篇文章,那么A拿出2篇文章,B拿出5篇文章,C拿出3篇文章, 共有10篇文章 //如果 A、B、C中除了当前文章,还有相同的文章,那么会扣除重复的那篇文章,只取一次。所以指定的数量会有偏差 for($i_n=0;$i_n<count($tbname_num);$i_n++){ $sql=$empire->query("select tid,classid,id,mid from {$dbtbpre}enewstagsdata where tagid='".$tag_id[$i]."' order by classid "); $ri=1 ; while($r=$empire->fetch($sql)) { $tbname_all[$r['tid']]=$class_r[$r['classid']]['tbname'] ; if($tbname_all[$r['tid']]==$tbname_num[$i_n] && $ri <= $tag_num[$i] && $navinfor['classid']!=$r['classid'] && $navinfor['id']!=$r['id']){ if($ck==1&&$navinfor['classid']==$r['classid']){ $tbname_all_r[$r['tid']]=$class_r[$r['classid']]['tbname'] ; $classid_id[$r['tid']]=$r['classid'] . '_' . $r['id'] ; $classid_all[$r['tid']]=$r['classid'] ; $id_all[$r['tid']][$r['classid']]=$r['id'] ; }elseif($ck==2&&$class_r[$navinfor['classid']]['tbname']==$class_r[$r['classid']]['tbname']){ $tbname_all_r[$r['tid']]=$class_r[$r['classid']]['tbname'] ; $classid_id[$r['tid']]=$r['classid'] . '_' . $r['id'] ; $classid_all[$r['tid']]=$r['classid'] ; $id_all[$r['tid']][$r['classid']]=$r['id'] ; }elseif($ck==3){ $tbname_all_r[$r['tid']]=$class_r[$r['classid']]['tbname'] ; $classid_id[$r['tid']]=$r['classid'] . '_' . $r['id'] ; $classid_all[$r['tid']]=$r['classid'] ; $id_all[$r['tid']][$r['classid']]=$r['id'] ; } $ri++; } } } } $classid_id_x=array_unique($classid_id);//去除重复的值 //去除重复的值,不同的TAG会有相同的文章。所以去除重复的值。比如A篇文章里面都有"北京","奥运",两个关键词, B篇文章里面也有"北京","奥运"在不去除重复的情况下,A篇的相关链接会出现两次B文章。所以必须去除其中一个。 arsort($classid_id_x); //按键名排列,倒序 $tid_tid=array_keys($classid_id_x) ;//取出键名重新排列,键名即为TAG的ID:tid shuffle($tid_tid);//顺序打乱,重新排 $tid_tid_num=count($tid_tid) ; if($num<$tid_tid_num) $tid_tid_num=$num+1 ;//由于去除了本文章,所以再加一条弥补 for($i_tid=0;$i_tid<$tid_tid_num;$i_tid++){ $tid=$tid_tid[$i_tid]; $classid=$classid_all[$tid]; $id=$id_all[$tid][$classid]; if($id==$navinfor['id']) continue ; //如果是本文章,相关链接里面就不用再放了。 $tbname=$tbname_all_r[$tid]; $r_1_2 =$empire->fetch1("select title,smalltext,titleurl,dp_jt,dp_dwz from {$dbtbpre}ecms_$tbname where id='".$id."' order by newstime limit 1") ; ////////显示样式在这修改 echo $r_1_2['title'].' ' ; //////// } } ?> /** <?php OtherLink('news,info',7,3) ; ?> **/
J'espère que cet article sera utile à tout le monde. Le constructeur de site Web Empire CMS vous aide.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Les paramètres mobiles d'Empire CMS se trouvent dans « Modèle mobile » dans le module « Gestion des modèles ». Les étapes spécifiques comprennent : l'activation du modèle, la sélection du canal d'application, la modification du contenu du modèle et l'enregistrement des paramètres.

Le plan du site Empire CMS peut être trouvé en accédant au fichier config.inc.php et en vérifiant les paramètres du dositemap. S'il est défini sur "on", le plan du site est activé. Le chemin du plan du site se trouve dans le paramètre sitemapurl et est accessible via un navigateur ou téléchargé via FTP.

L'emplacement idéal pour le fichier de modèle Empire CMS est /e/template/default/skin/default/. Deuxièmement, il peut également être placé dans /e/data/skins/ et /e/skin/. maintenir la structure des dossiers et définir les autorisations de fichiers et les sauvegardes régulières.

Le fichier de configuration de la base de données Imperial CMS se trouve dans le répertoire racine du site Web e/config/db.inc.php. Il contient les informations de configuration suivantes : $dbhost : adresse du serveur de base de données $dbuser : nom d'utilisateur de la base de données $dbpass : mot de passe de la base de données $dbname : nom de la base de données $dbport :Port de la base de données $dbcharset : jeu de caractères de la base de données

Emplacement de téléchargement du modèle Empire CMS : Téléchargement du modèle officiel : https://www.phome.net/template/ Site Web du modèle tiers : https://www.dedecms.com/diy/https://www.0978.com. cn /https://www.jiaocheng.com/Méthode d'installation : Télécharger le modèle Décompresser le modèle Télécharger le modèle Sélectionner le modèle

Le plug-in push actif Imperial cms Baidu se trouve dans le répertoire racine /e/api/baidu/push.php. Les étapes de configuration spécifiques sont les suivantes : 1. Téléchargez le fichier du plug-in vers le chemin spécifié. 2. Configurez l'option « Baidu Active Push » dans l'arrière-plan d'Imperial CMS, y compris l'adresse push, la clé API et l'intervalle de push. 3. Obtenez les informations push Baidu : Adresse Push : https://data.zz.baidu.com/urls?site=YOUR_SITE&token=YOUR_API_KEY, Clé API : connectez-vous à la plateforme de ressources de recherche Baidu pour l'obtenir. 4. Mettez régulièrement à jour la clé API et définissez un intervalle de poussée raisonnable.

L'interface de publication automatique d'Empire CMS se trouve à l'adresse /e/api/web/postinfo.php. Les étapes d'utilisation sont les suivantes : visitez l'adresse /e/api/web/postinfo.php et utilisez HTTP POST pour soumettre le titre de l'article, ID de colonne, ID de catégorie, auteur et article. Le contenu et les autres interfaces de données renverront une réponse au format JSON, qui contient les résultats de publication et l'ID de l'article.

Oui, Empire CMS est un système de gestion de contenu (CMS) gratuit et open source. Il s’agit d’un CMS léger, riche en fonctionnalités et facile à utiliser. Empire CMS est sous licence GNU General Public License (GPL), ce qui signifie qu'il est gratuit à télécharger, à installer et à utiliser. Pour un usage commercial, il propose une version payante qui offre des fonctionnalités et une assistance supplémentaires telles que la gestion des publicités, les paiements en ligne et une assistance technique premium.
