新闻中心

织梦DEDE发布文章时(含附件图片)过大导致首页布局混乱的解决方案

作者 / 无忧主机 时间 2014-06-30 11:58:49

织梦dedesms是一款开源的企业站程序,很多做企业站,展示站的站长朋友们都会首选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","<imgalt=\"".$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打开模板文件然后在最下面添加以下代码: <script language='javascript'> function ImgReSize(e) { if(e.width>670) // 670可根据你文章的内容区域大小,可调整 { e.width=670; // 等同上面你设的那个数值 e.style.width=""; } if(e.height>10) { e.style.height=""; } } </script> 这段代码主要是修改网页的宽度的,以上有个数字是670就是控制宽度大小的参数,一般宽度修改后高度就会自动缩小的了。以上两个步骤就是完美解决由于图片大导致网站格式混乱的方案。当然如果是前台高手也是可以用CSS样式来调试的。但是小编还要提醒一句,CSS对每个不同的浏览器都存在兼容性的问题,举个例子对IE浏览器就是不兼容的哦。 无忧主机相关文章推荐阅读: DEDECMS去掉管理员后台广告界面方法 DEDECMS程序网站如何添加GOOGLE地图 如何修改DEDECMS网站程序后台首页头部LOGO图片 DEDECMS模板调用文件出错导致首页白屏、页面混乱解决方案总结篇

本文地址:https://www.51php.com/dedecms/14725.html

1
1
1
1
1
1
1