微慑信息网

DEDECMS内容页图片太大导致布局混乱的解决方法

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>

到此,我们就全部修改好了,内容页图片太大导致布局混乱问题就解决了。

 

 

拓展阅读(点评/知识):

验证可行!

<>

 

本文标题:DEDECMS内容页图片太大导致布局混乱的解决方法
本文链接:
(转载请附上本文链接)
http://vulsee.com/archives/vulsee_2018/0119_5175.html
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » DEDECMS内容页图片太大导致布局混乱的解决方法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

微慑信息网 专注工匠精神

访问我们联系我们