前几天弄一个网站发现,一个问题三个页面虽然除了图片大小不一样其他一样,如果是两个的话,亲们都狠明白,一个缩略图,一个内容里挂个图片,这样狠顺利的弄成两个图片大小不一样的图片,but三个怎么办,于是乎想到了自定义字段,
打开 /include/extend.func.php 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个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;
}
}
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:arclist row='5′ orderby='id' channelid='1′ addfields='imgurl'}
<li>[field:title/][field:imgurl function='GetOneImgUrl(@me,0)'/]</li>
{/dede:arclist}
<li>[field:title/][field:imgurl function='GetOneImgUrl(@me,0)'/]</li>
{/dede:arclist}
下面解释下这个段代码。。addfields =‘imgurl’ ?imgurl是你自定义字段的名称
[field:imgurl function='GetOneImgUrl(@me,0)'/] 这个是那个自定义图片里的地址
有什么不会的可以找我帮忙。
以上是seo对dedecms调用自定义字段里的图片的详细介绍
文章评论