Maison > Tutoriel CMS > DEDECMS > le corps du texte

Comment ajouter l'attribut nototypeid à la balise DreamWeaver artlist pour implémenter le filtrage des colonnes

藏色散人
Libérer: 2019-12-02 09:44:14
original
1675 Les gens l'ont consulté

Comment ajouter l'attribut nototypeid à la balise DreamWeaver artlist pour implémenter le filtrage des colonnes

Comment ajouter l'attribut nototypeid à la balise Dreamweaver artlist pour implémenter le filtrage des colonnes ?

La fonction de balise de DreamWeaver est très puissante. Tant que vous êtes familier avec ces balises, vous pourrez facilement appeler diverses formes de données d'arrière-plan au premier plan. Bien sûr, ce serait encore plus parfait si nous pouvions comprendre certaines technologies et améliorer le label de DreamWeaver.

Étude recommandée : Dream Weaver cms

J'ai récemment développé et subdivisé les colonnes de mon petit site, des sept colonnes originales de premier niveau à dix Deux premières Colonnes de premier niveau, chaque colonne de premier niveau est subdivisée en quatre à huit colonnes de deuxième niveau pour une meilleure gestion du contenu.

Mais j'ai rencontré un problème. Je ne souhaite pas qu'une des colonnes soit affichée dans la dernière liste d'articles sur la page d'accueil, il s'agit selon la méthode existante de DreamWeaver de changer l'attribut typeid de la balise arclist. pour afficher l'article. Tous les ID de colonne sont définis, mais il y a trop d'ID de colonne, ce qui sera difficile à maintenir à l'avenir, donc je pense que puisque arclist prend en charge flag et noflag, il devrait également prendre en charge typeid et nototypeid, n'est-ce pas ?

Après quelques tests et traçage du code source, j'ai découvert que Notypeid n'est pas pris en charge par Dreamweaver. Que dois-je faire ? Écrivez-le vous-même !

Ouvrez le fichier /include/taglib/arclist.lib.php et trouvez ce code (environ la ligne 130) :

return lib_arclistDone 
       ( 
         $refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen, 
         $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby, 
         $ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid, 
         $ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'), 
         $tagid,$pagesize,$isweight         
     );
Copier après la connexion

Ajoutez à la fin de la dernière parenthèse (notez la virgule devant ):

,$ctag->GetAtt('notypeid')
Copier après la connexion

Trouvez ensuite ce bout de code (à propos de la ligne 168) :

function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160, 
        $imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='', 
        $innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='N')
Copier après la connexion

Ajoutez à la fin des parenthèses (notez la virgule devant) :

,$notypeid=0
Copier après la connexion

Retrouvez-le cette phrase :

$orwheres[] = ' arc.arcrank > -1 ';
Copier après la connexion

Ajoutez le code suivant devant :

if(!empty($notypeid))  
{ 
    $orwheres[] = " and arc.typeid NOT IN (".GetSonIds($notypeid).")"; 
}
Copier après la connexion

De cette façon, le code est modifié. Après l'enregistrement, essayez l'attribut nototypeid dans la balise arclist. Pour les sites Web comportant de nombreuses colonnes et un affichage de contenu compliqué, cet attribut est très pratique.

Utilisation :

Le code est le suivant :

{dede:arclist row=6 orderby=pubdate type='image.' imgwidth='108' imgheight='150' channelid='1' notypeid='9'}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!