DEDECMS内容页图片过大,我们又不但愿它不按比例的缩小,因为假如缩小不按比例,图片就会变形,所以我们需要找到一种等比例缩放图片的要领。
第一步:打开include/arc.archives.class.php
找到:
//配置全局情况变量$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
@SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['id'],$this->Fields['title'],'archives');
在下面插手代码:
//替换图片Alt为文档标题$this->Fields['body'] = str_ireplace(array('alt=""','alt=\'\''),'',$this->Fields['body']);
$this->Fields['body'] = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s]
@isU"," ",$this->Fields['body']);
$this->Fields['body'] = str_ireplace("<img " ,"<img alt=\"".$this->Fields['title']."\"
",$this->Fields['body']);
//img标签中插手超宽缩小JS挪用代码
$suolue='onload="javascript:ImgReSize(this)"';
$this->Fields['body'] = str_ireplace("<img " ,"<img ".$suolue." ",$this->Fields['body']);
//屏蔽height属性
$this->Fields['body'] = preg_replace('/<img(.+?)height=(.+?) (.+?)>/i',"<img$1$3>",$this->Fields['body']);
第二步:打开你前台文章页模版,默认的是:/templets/default/article_article.htm,插手如下代码。谁人600的数值,意思是当图片高出这个数值,自动将图片缩小,宽度缩小为600,高度自动按比例缩小,这样不会变形。
<script language='javascript'>function ImgReSize(e)
{
if(e.width>600) //600可按照你文章的内容区域巨细,可调解
{
e.width=600; //等同上面你设的谁人数值
e.style.width="";
}
if(e.height>10)
{
e.style.height="";
}
}
</script>
到此,我们就全部修改好了,内容页图片太大导致机关杂乱问题就办理了。
织梦CMS(DedeCMS) v5.7 SP1 GBK build20150618下载