Comment utiliser le modèle spécial dedecms
Jan 13, 2020 am 09:38 AMComment utiliser le modèle de thème dedecms ?
Il y a relativement peu d'informations sur le sujet des DeDeCms sur bbs J'ai consulté beaucoup d'informations auparavant mais je n'ai pas trouvé sa solution
Etude recommandée. : tissé Dream cms
La seule façon d'avoir suffisamment de nourriture et de vêtements est de compter sur soi-même; il y a ce passage dans la version officielle :
1. la liste est séparée sous la forme ID1, ID2, ID3. Le système exclura automatiquement les articles identiques de différents nœuds
2. Concernant l'utilisation de la balise [field:fieldname /] dans un seul modèle d'enregistrement ; veuillez vous référer aux instructions d'aide du système sur la balise arclist ;
3. L'ID du nœud est l'identifiant unique du nœud. Il est permis d'utiliser {dede:specnote id='identity'/} pour représenter un seul. nœud dans le modèle de sujet.
4. Dans des circonstances normales, chaque nœud affiche les documents dans la « Liste des articles du nœud ». Si vous spécifiez le « mode d'acquisition automatique », vous devez spécifier le mot-clé et l'ID de colonne.
Cependant, après avoir testé {dede:specnote id='note'/}, cela n'a pas amélioré l'efficacité. Nous avons donc commencé à résoudre ce problème pour remplacer le {dede:field name='note' d'origine, plus rigide ; /} tag;
Exemple :
Je souhaite afficher des articles avec des nœuds différents sur deux colonnes. Actuellement, cela ne peut pas être réalisé en utilisant "note". même nœud, ce qui semble forcément un peu gênant. Pas assez flexible.
Ci-dessous, j'écrirai ma solution pour référence aux étudiants. Tout d'abord, je dois préciser qu'elle ne peut réaliser que la fonction, mais que l'algorithme n'est pas nécessairement le meilleur, car je ne suis pas très bon. Je connais le code DEDECMS et je ne l'ai pas, je l'ai étudié attentivement et j'espère que tout le monde comprendra !
Étape 1 :
Emplacement du fichier : {include/inc_archives_view.php}
Le code est le suivant :
//广告标记 //----------------------- else if($ctag->GetName()=="myad"){ $this->dtp->Assign($tagid,$this->PartView->GetMyAd($typeid,$ctag->GetAtt("name"))); } // 专题标识 // by phpfans else if($ctag->GetName()=="specnote"){ $this->dtp->Assign($tagid,$this->ChannelUnit->GetSpecList('',$this->ChannelUnit->specrule,$ctag->GetAtt("id"))); }
Introduction : {Ajouter un sujet sous la balise publicitaire Logo}afin que la page spéciale de liste d'articles puisse reconnaître la balise specnote
Étape 2 :
Emplacement du fichier : {include/inc_channel_unit.php}
var $specrule; //------------- //php5构造函数 //-------------
Introduction : Ajout de la définition de la variable $pecrule
Étape 3 :
Emplacement du fichier : {include/inc_channel_unit.php}
Le code est le suivant :
else if($ftype=="specialtopic"){ $this->specrule = $fvalue; $fvalue = $this->GetSpecList($fname,$fvalue); }
Introduction : Ajoutez ici Ajoutez la phrase $this->specrule = $fvalue; afin d'obtenir les données du champ de note de la table addonspec
Étape 4 :
Emplacement du fichier : {include/inc_channel_unit.php}
Le code est le suivant :
//获得专题文章的列表 //-------------------------------- function GetSpecList($fname,$noteinfo,$noteid="") { if(!isset($GLOBALS['__SpGetArcList'])) require_once(dirname(__FILE__)."/inc/inc_fun_SpGetArcList.php"); if($noteinfo=="") return ""; $rvalue = ""; $tempStr = GetSysTemplets("channel/channel_spec_note.htm"); $dtp = new DedeTagParse(); </p> <p></p> <p>$dtp->LoadSource($noteinfo); if(is_array($dtp->CTags)) { foreach($dtp->CTags as $k=>$ctag){ $notename = $ctag->GetAtt("name"); if($noteid!="" && $ctag->GetAtt("noteid")!=$noteid){ continue; } //指定名称的专题节点 if($noteid!="" && $ctag->GetAtt("noteid")===$noteid) { $isauto = $ctag->GetAtt("isauto"); $idlist = trim($ctag->GetAtt("idlist")); $rownum = trim($ctag->GetAtt("rownum")); if(empty($rownum)) $rownum = 40; $keywords = ""; $stypeid = 0;</p> <p>if($isauto==1){ $idlist = ""; $keywords = trim($ctag->GetAtt("keywords")); $stypeid = $ctag->GetAtt("typeid"); }</p> <p>if(trim($ctag->GetInnerText())!="") $listTemplet = $ctag->GetInnerText(); else $listTemplet = GetSysTemplets("spec_arclist.htm"); $idvalue = SpGetArcList($this->dsql, $stypeid,$rownum,$ctag->GetAtt("col"), $ctag->GetAtt("titlelen"),$ctag->GetAtt("infolen"), $ctag->GetAtt("imgwidth"),$ctag->GetAtt("imgheight"), "all","default",$keywords,$listTemplet,100,0,$idlist);</p> <p>$notestr = str_replace("~notename~",$notename,$tempStr); $notestr = str_replace("~spec_arclist~",$idvalue,$notestr); $rvalue .= $notestr; if($noteid!="" && $ctag->GetAtt("noteid")==$noteid){ break; } } } } $dtp->Clear(); return $rvalue; }
Introduction : Il y a quelques petits changements, qui seront clairs après les avoir comparés par vous-même, donc il n'y en aura plus trembler ici
Étape 5 :
Instructions : La balise originale {dede:field name='note'/} n'est pas valide. Si vous souhaitez l'utiliser, veuillez modifier la quatrième partie par vous-même. . .
Très simple
Fait !
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

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)

Sujets chauds

Où se trouve le modèle de réseau de ressources Imperial CMS ?

Rapport d'évaluation de l'outil de conversion dedecms précis et fiable

Comment télécharger des vidéos locales sur dedecms

Comment dedecms implémente le remplacement de modèle

Un moyen simple d'apprendre la fonction de conversion de codage dedecms

Quelles sont les failles des dedecms ?
