DedeCMS自定义模型添加图片问题

更新列表页时提示:Fatal error: Call to a member function GetInnerText() on a non-object in E:\www\include\taglib\channel\img.lib.php on line 51

编辑打开 \include\taglib\channel\img.lib.php
查找51行左右:
$innerTmp = $arcTag->GetInnerText();
将其替换为:
$innerTmp = ($arcTag==””) ? trim($arcTag) : trim($arcTag->GetInnerText());

在后台修改文章的时候出现如下错误:Fatal error: Call to a member function GetInnerText() on a non-object in \include\customfields.func.php on line 539

打开织梦的根目录下的“include”-“customfields.func.php”文件,在第539行中把以下代码:

$fvalue = trim($ntag->GetInnerText());替换成以下代码即可:
$innerTmp = ($arcTag==””) ? trim($arcTag) : trim($arcTag->GetInnerText());

在文章页直接调用dede织梦自定义字段图片地址:

a.修改自定义的模型中的图片字段,选择图片(仅网址)这个属性,保存之后就行了。
b.创建自定义函数:
打开 /include/extend.func. 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;
}
}

c.下面就可以开始调用图片地址了

[field:datu function=’GetOneImgUrl(@me,0)’/] 调用图片的信息,自动调用宽度和高度(已包含Html代码的<img />)

[field:datu function=’GetOneImgUrl(@me,1)’/] 只调用图片地址,一般可用于背景图嵌套

八、具体到调用代码里面的调用方法就是:

{dede:arclist typeid=’12’ addfields=’datu’ channelid=’17’ limit=’0,7′}

<li><a href=”[field:arcurl/]” target=”_blank”><img border=”0″ src=”[field:datu function=’GetOneImgUrl(@me,1)’/]”></a></li>

{/dede:arclist}

 

http://www.dede58.com/a/zhimengjiaocheng/development/2572.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注