网站模板中心

您现在的位置:首页>>织梦大学>>织梦技巧

dedecms添加自定义图片字段,调用时出现的问题

来源: 编辑:admin 发布时间:2019-11-07热度:72 ℃
s的文章模型,只有一个缩略图,然后就是文章内容,编辑器中,可能也有多图上传等,能得到图片。通过内容中得到也不明确。 文章,除了缩略图,还需要一个logo图,所以,就打...

dedecms的文章模型,只有一个缩略图,然后就是文章内容,编辑器中,可能也有多图上传等,能得到图片。通过内容中得到也不明确。
文章,除了缩略图,还需要一个logo图,所以,就打算修改下 “文章模型”,新增一个logo图片上传字段即可,这个字段,会添加到 addtable 对应的数据表中(addonarticle)。
所有都按正常走的,上传等也顺利,数据库中也有了,但打开数据库一看,里面保存的内容是:{dede:img text='' width='2534' height='1138'} /uploads/161027/1-16102G12Z1930.png {/dede:img}

解决方案,分2步:

1>创建自定义函数

打开 /include/extend.func.php 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可)

    // 获取 'img-图片' 附加字段图片地址  
    // 针对 '{dede:img text='' width='2534' height='1138'} /uploads/161027/1-16102G12Z1930.png {/dede:img}' 格式  
    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 .= '';     
                            }     
                        }     
                                     
                    }     
                }     
            }     
            $dtp->Clear();     
            return $img;         
        }     
    }

2>调用我们创建的自定义函数


[field:自定义图片字段名 function="GetOneImgUrl(@me,显示类型)"/] 
比如:我们的自定义图片字段名为 imgurl ,那么调用方式有以下两种: 
引用 
[field:imgurl function='GetOneImgUrl(@me,0)'/]  
[field:imgurl function='GetOneImgUrl(@me,1)'/]  


 


 


 

 

Pbootcms问题解决

请点击在线联系我们【点击咨询解决问题】   如果您有任何Pbootcms问题,我们将免费为您写解决教程!

    PB模板网:承接仿站业务,价格200元起!