Maison  >  Article  >  Tutoriel CMS  >  Comment dedeCMS utilise la balise arclist pour appeler des champs personnalisés

Comment dedeCMS utilise la balise arclist pour appeler des champs personnalisés

藏色散人
藏色散人original
2019-12-14 10:39:081803parcourir

Comment dedeCMS utilise la balise arclist pour appeler des champs personnalisés

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}

L'exemple de code est le suivant :

Le code est le suivant :

{dede:arclist flag=&#39;c&#39; typeid=&#39;23&#39; channelid=&#39;1&#39; addfields=&#39;tpic2&#39; limit=&#39;0,8&#39;} 
<div class="works"> 
<a title="[field:title /]" href="#"> 
<img src="[field:tpic2 function=&#39;GetOneImgUrl(@me,1)&#39;/] " width="940" height="440" alt="#"> 
</a> 
</div> 
{/dede:arclist}

Exigences :

1. Spécifiez l'attribut channelid

2. Spécifiez les champs à obtenir addfields ='Field 1, Field'

3 Vous devez sélectionner pour rendre le champ disponible dans le modèle sous-jacent de la liste ( les champs personnalisés ne peuvent être affichés que dans le modèle de document par défaut. L'activation de cette option ralentira les requêtes de liste, telles que Veuillez ne pas sélectionner si ce n'est pas nécessaire). Cela peut être utilisé pour les types de texte ordinaires. , il apparaîtra. Le code est le suivant :

Le code est le suivant :

{dede:img text=&#39;&#39; width=&#39;270&#39; height=&#39;129&#39;} /uploads/101017/1-10101H21F54P.gif {/dede:img} 
这明显不是我们想要的,这个时候我们弄一个自定函数,代码如下:</p> <p>function GetOneImgUrl($img,$ftype=1){ 
if($img <> &#39;&#39;){ //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()==&#39;img&#39;){ 
$width = $ctag->GetAtt(&#39;width&#39;); 
$height = $ctag->GetAtt(&#39;height&#39;); 
$imgurl = trim($ctag->GetInnerText()); 
$img = &#39;&#39;; 
if($imgurl != &#39;&#39;){ 
if($ftype==1){ 
$img .= $imgurl; 
} 
else{ 
$img .= &#39;<img src="&#39;.$imgurl.&#39;" width="&#39;.$width.&#39;" height="&#39;.$height.&#39;" />&#39;; 
} 
} 
} 
} 
} 
$dtp->Clear(); 
return $img; 
} 
}

Le code d'appel est le suivant :

Le code est le suivant :

[field:tpic2 function=&#39;GetOneImgUrl(@me,1)&#39;/]

C'est tout.

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:
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