Comment dedeCMS utilise-t-il les balises arclist pour appeler des champs personnalisés ?
L'exemple de cet article décrit comment dedeCMS utilise la balise arclist pour appeler des champs personnalisés. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
Apprentissage recommandé : Dreamweaver cms
En fait, la méthode est très simple Il suffit d'utiliser des champs supplémentaires pour ajouter des sections personnalisées, mais il y a une chose. Il est à noter que si vous l'ajoutez plus tard, nous devons sélectionner la couche inférieure, sinon le champ risque de ne pas être appelé
Le code de syntaxe est le suivant :
Le code est le suivant :{dede:arclist addfields='附加字段1,附加字段2,附加字段3' row='8' channelid='自定义模型id号'} [field:textlink /] [field:附加字段1/] [field:附加字段2/]< [field:附加字段3/]< {/dede:arclist}
{dede:arclist flag='c' typeid='23' channelid='1' addfields='tpic2' limit='0,8'} <div class="works"> <a title="[field:title /]" href="#"> <img src="[field:tpic2 function='GetOneImgUrl(@me,1)'/] " width="940" height="440" alt="#"> </a> </div> {/dede:arclist}
{dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img} 这明显不是我们想要的,这个时候我们弄一个自定函数,代码如下:</p> <p>function GetOneImgUrl($img,$ftype=1){ if($img <> ''){ //var articleUrl = https://www.jb51.net $dtp = new DedeTagParse(); $dtp->LoadSource($img); if(is_array($dtp->CTags)){ foreach($dtp->CTags as $ctag){ if($ctag->GetName()=='img'){ $width = $ctag->GetAtt('width'); $height = $ctag->GetAtt('height'); $imgurl = trim($ctag->GetInnerText()); $img = ''; if($imgurl != ''){ if($ftype==1){ $img .= $imgurl; } else{ $img .= '<img src="'.$imgurl.'" width="'.$width.'" height="'.$height.'" />'; } } } } } $dtp->Clear(); return $img; } }
[field:tpic2 function='GetOneImgUrl(@me,1)'/]
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!