郑州SEO论坛-服务郑州广大SEO爱好者!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2188|回复: 0
打印 上一主题 下一主题

dede内页限制图片显示大小的修改方法 [复制链接]

282

主题

0

好友

1369

积分

SEO大师兄

Rank: 8Rank: 8Rank: 8Rank: 8

  • TA的每日心情
    无聊
    2016-6-20 11:50
  • 签到天数: 2 天

    [LV.1]SEO入门

    跳转到指定楼层
    楼主
    发表于 2015-9-22 17:28:12 |只看该作者 |倒序浏览
    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>
    到此,我们就全部修改好了,内容页图片太大导致布局混乱问题就解决了





    分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏0 支持支持0 反对反对0
    您需要登录后才可以回帖 登录 | 立即注册

    回顶部