语法
代码如下 | 复制代码 |
{dede:arclist addfields='附加字段1,附加字段2,附加字段3' row='8' channelid='自定义模型id号'} [field:textlink /] [field:附加字段1/] [field:附加字段2/]< [field:附加字段3/]<<br /> {/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} |
要求:
1、指定 channelid 属性
2、指定要获得的字段 addfields='字段1,字段'
3、必须选择 使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择)
这个可以用来做普通的文字类型,如果要是图片的类型的话会出现
代码如下 | 复制代码 |
{dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img} |
这明显不是我们想要的,这个时候我们弄一个自定函数
代码如下 | 复制代码 |
function GetOneImgUrl($img,$ftype=1){ if($img <> ''){ //var articleUrl = http://www.mapenggang.com $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.'" />'; } } } |
调用
代码如下 | 复制代码 |
[field:tpic2 function='GetOneImgUrl(@me,1)'/] |
这样即可。
时间: 2024-10-01 07:41:22