DEDE织梦自定义字段调用

虽然织梦已经给我提供了很多的默认字段了,但是这些字段并不是能满足我们所有人的需求的,这个时候就需要用到织梦提供的另外一个功能,那就是织梦DEDECMS自定义字段功能!
具体如何添加自定义字段这里就不做讲解了,本结主要讲一下这些织梦自定义字段如何在前台调用的。

1、织梦自定义文本字段的调用方法

文本字段是最常见的自定义字段方法,也是前台调用最简单的具体方法如下

a、列表页调用

//ziduan 为自定义字段名  channelid='1' 为内容模型id  
// dede:list标签调用时不用添加 channelid和addfields两个字段
{dede:arclist typeid='3'  row='4'  addfields='ziduan' channelid='1' }
      <P>字段:[field:ziduan/]</P>
{/dede:arclist}

b、文章内容页调用

{dede:field name='ziduan'/}

2、织梦自定义图片字段调用

织梦自定义图片字段也可以使用方法一的方式调用,不过调用处理的结果带有默认的html标签,可能不是我们想要的,如果我们只想调用图片的地址,就需要在/inclue/extend.fun.php添加如下代码

function GetOneImgUrl($img,$ftype=1){   
    if($img <> ''){   
        $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;       
    }   
} 

最后前台调用方式

//列表调用  dede:list标签调用时不用添加 channelid和addfields两个字段
{dede:arclist typeid='1' row='14' titlelen='50' channelid='id号' addfields='自定义图片字段'}
[field:自定义图片字段 function=GetImgUrl(@me)/]
{/dede:arclist}
//文章页调用
{dede:field.自定义图片字段 function='GetOneImgUrl(@me,1)'/}

3、织梦自定义附件字段调用

织梦自定义附件字段调用和自定义图片字段一样,如果如果直接使用方法一也是可以调用出来的,但是调用的结果也是带有默认的html格式的。如果您只想调用自定义附件字段的地址需要做如下处理。
找到\templets\system\channel_addon.htm把里面的内容全部删除!只留下一个 ~link~ 字符串然后就可以使用方法一直接调用啦

// dede:list标签调用时不用添加 channelid和addfields两个字段
{dede:arclist typeid='3'  row='4'  addfields='ziduan' channelid='1' }
      <P>[field:自定义附件字段名/]</P>
{/dede:arclist}
//内容页调用
{dede:field.自定义附件字段名/}

如果你还想获取附件的大小、类型、和时间具体操作方法:/inclue/extend.fun.php添加如下代码

function GetFileInfos($file, $type='size')

{

    global $cfg_basedir;

    $filepath = $cfg_basedir.$file;

    $size = filesize($filepath);

    $fileinfos = pathinfo($filepath);

    $units = array(' B', ' KB', ' MB', ' GB', ' TB');

    for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024;

    if($type=='size') return round($size, 2).$units[$i];

    if($type=='type') return $fileinfos['extension'];

    if($type=='name') return $fileinfos['filename'];

    if($type=='time') return MyDate("Y-m-d H:i:s", filemtime($filepath));

}

调用方法如下

{dede:list}
类型:[field:pdf function=GetFileInfos(@me,type)/] 
大小:[field:pdf function=GetFileInfos(@me,size)/] 
时间:[field:pdf function=GetFileInfos(@me,time)/]
{/dede:list}

DEDE织梦自定义字段调用展示图

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远的WEB小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值