织梦CMS(DedeCMS)是一款广泛使用的开源内容管理系统,其灵活性和强大的功能使得许多网站管理员选择它来构建和管理自己的网站,在使用过程中,用户可能会遇到一些关于自定义图片显示的问题,本文将详细介绍如何解决这些问题,并提供相关问答FAQs,帮助用户更好地使用织梦CMS。
问题概述
在使用织梦CMS时,用户可能会遇到以下几种与自定义图片显示相关的问题:
1、更改主页模板后图片无法显示:这通常是由于路径问题导致的,当用户更改主页模板后,之前的图片路径可能不再适用,导致图片无法正常显示。
2、自定义图片字段调用不正确:在首页用自定义列表调用出来的图片字段不是正确的图片地址,而是类似于引用格式的问题。
3、手机端图片无法自适应:织梦模板在电脑端图片显示正常,但在手机端却变形的问题。
4、自定义模型中图片字段无法选择及无法上传:这个问题涉及到include/uploadsafe.inc.php文件的修改。
5、网页生成后每张图片下面都有标题的超链接:这可能是模板代码编写不当导致的。
解决方案
1、更改主页模板后图片无法显示的解决方案
检查图片路径:在后台程序中找到该图片的路径,按照这个路径打开你的文件,看看里面是否有这个图片。
重新上传图片:如果路径正确但图片仍然无法显示,尝试重新上传图片到相应的位置。
2、自定义图片字段调用不正确的解决方案
创建自定义函数:打开/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 .= ''; } } } } } $dtp>Clear(); return $img; } }
函数调用方法:本函数的调用方法为:[field:自定义图片字段名 function="GetOneImgUrl(@me,显示类型)"/],[field:imgurl function=’GetOneImgUrl(@me,0)’/]。
3、手机端图片无法自适应的解决方案
去掉图片的宽度属性:打开文件夹include,找到并打开arc.archives.class.php文件,Ctrl+F查找代码,搜索查找设置全局环境变量,然后加上以下代码去掉图片的宽度属性:
//跟改属性去掉img的width和height $this>Fields['body'] = preg_replace('/<img [^>]*bwidthb=[^>]*b>/i', '<img $1 />', $this>Fields['body']);
4、自定义模型中图片字段无法选择及无法上传的解决方案
修改include/uploadsafe.inc.php文件:找到541行和545行,将onClick="SelectImage(‘form1.$fieldname’,’big’)" />更改为onClick="SelectImage(‘addcontent.$fieldname’,’big’)" />。
5、网页生成后每张图片下面都有标题的超链接的解决方案
删除模板代码:检查模板里代码的编写方式,删除不必要的代码或链接。
相关问答FAQs
1、问:为什么更改主页模板后图片无法显示?
答:这通常是由于路径问题导致的,需要检查图片路径是否正确,或者重新上传图片到相应的位置。
2、问:如何在首页用自定义列表调用出正确的图片地址?
答:可以通过创建自定义函数GetOneImgUrl来解决,具体实现方法如上文所述。
3、问:为什么织梦模板在手机端图片无法自适应?
答:这是因为dedecms程序发布内容上传图片时会自动调用图片的尺寸属性并写入图片样式里面,通过去掉图片的宽度属性可以解决这个问题,具体实现方法如上文所述。
4、问:如何修改include/uploadsafe.inc.php文件来解决自定义模型中图片字段无法选择及无法上传的问题?
答:找到文件中的第541行和第545行,将onClick="SelectImage(‘form1.$fieldname’,’big’)" />更改为onClick="SelectImage(‘addcontent.$fieldname’,’big’)" />即可,具体实现方法如上文所述。
5、问:为什么网页生成后每张图片下面都有标题的超链接?
答:这可能是由于模板代码编写不当导致的,需要检查模板里代码的编写方式,删除不必要的代码或链接,具体实现方法如上文所述。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1201572.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复