织梦CMS使用addfields就可以实现增加自定自段了,不过有一点需要注意的是如果你在在后面加的我们需要把底层给选中,否则是可能调用不到字段的.
语法代码如下:
{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.织梦58dede58.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.'" />';
}
}
}
}
}
$dtp->Clear();
return $img;
}
}
调用代码如下:[field:tpic2 function='GetOneImgUrl(@me,1)'/]这样即可.

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。