- 最后登录
- 2019-3-11
- 威望
- 2
- 金钱
- 1007
- 贡献
- 1
- 注册时间
- 2013-3-12
- 阅读权限
- 150
- 分享
- 0
- 精华
- 13
- 积分
- 1369
- 帖子
- 305
   
TA的每日心情 | 无聊 2016-6-20 11:50 |
---|
签到天数: 2 天 [LV.1]SEO入门
|
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> | 到此,我们就全部修改好了,内容页图片太大导致布局混乱问题就解决了
|
|