DEDECMS图片撑破布局的解决方法 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

  DEDECMS内容页图片过大,我们又不希望它不按比例的缩小,因为如果缩小不按比例,图片就会变形,所以我们需要找到一种等比例缩放图片的方法,

DEDECMS图片撑破布局的解决方法

  第一步:打开include/arc.archives.class.php

  找到:

<span style="color: rgb(255, 0, 0); font-weight: normal; font-style. normal; " class="sh_comment">//设置全局环境变量</span>
<span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'typename'</span><span class="sh_symbol">]</span> <span class="sh_symbol">=</span> <span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>TypeLink<span class="sh_symbol">-></span>TypeInfos<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'typename'</span><span class="sh_symbol">];</span>
<span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">@SetSysEnv</span><span class="sh_symbol">(</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'typeid'</span><span class="sh_symbol">],</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'typename'</span><span class="sh_symbol">],</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'id'</span><span class="sh_symbol">],</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'title'</span><span class="sh_symbol">],</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'archives'</span><span class="sh_symbol">);</span>

  在下面加入代码:

<span style="color: rgb(255, 0, 0); font-weight: normal; font-style. normal; " class="sh_comment">//替换图片Alt为文档标题</span>
<span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]</span> <span class="sh_symbol">=</span> <span style="color: rgb(0, 0, 0); font-weight: bold; font-style. normal; " class="sh_function">str_ireplace</span><span class="sh_symbol">(</span><span style="color: rgb(165, 42, 42); font-weight: normal; font-style. normal; " class="sh_keyword">array</span><span class="sh_symbol">(</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'alt=""'</span><span class="sh_symbol">,</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'alt='''</span><span class="sh_symbol">),</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">''</span><span class="sh_symbol">,</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]);</span>
<span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]</span> <span class="sh_symbol">=</span> <span style="color: rgb(0, 0, 0); font-weight: bold; font-style. normal; " class="sh_function">preg_replace</span><span class="sh_symbol">(</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">"@ [s]{0,}alt[s]{0,}=["'s]{0,}[sS]{0,}["'s]</span>
<span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">@isU"</span><span class="sh_symbol">,</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">" "</span><span class="sh_symbol">,</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]);</span>
<span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]</span> <span class="sh_symbol">=</span> <span style="color: rgb(0, 0, 0); font-weight: bold; font-style. normal; " class="sh_function">str_ireplace</span><span class="sh_symbol">(</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">"<img "</span> <span class="sh_symbol">,</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">"<img alt=""</span><span class="sh_symbol">.</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'title'</span><span class="sh_symbol">].</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">""</span>
<span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">"</span><span class="sh_symbol">,</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]);</span>
<span style="color: rgb(255, 0, 0); font-weight: normal; font-style. normal; " class="sh_comment">//img标签中加入超宽缩小JS调用代码</span>
<span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$suolue</span><span class="sh_symbol">=</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'onload="javascript.:ImgReSize(this)"'</span><span class="sh_symbol">;</span>
<span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]</span> <span class="sh_symbol">=</span> <span style="color: rgb(0, 0, 0); font-weight: bold; font-style. normal; " class="sh_function">str_ireplace</span><span class="sh_symbol">(</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">"<img "</span> <span class="sh_symbol">,</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">"<img "</span><span class="sh_symbol">.</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$suolue</span><span class="sh_symbol">.</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">" "</span><span class="sh_symbol">,</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]);</span>
<span style="color: rgb(255, 0, 0); font-weight: normal; font-style. normal; " class="sh_comment">//屏蔽height属性</span>
<span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]</span> <span class="sh_symbol">=</span> <span style="color: rgb(0, 0, 0); font-weight: bold; font-style. normal; " class="sh_function">preg_replace</span><span class="sh_symbol">(</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'/<img(.+?)height=(.+?) (.+?)>/i'</span><span class="sh_symbol">,</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">"<img$1$3>"</span><span class="sh_symbol">,</span><span style="color: rgb(34, 95, 45); font-weight: normal; font-style. normal; " class="sh_variable">$this</span><span class="sh_symbol">-></span>Fields<span class="sh_symbol">[</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'body'</span><span class="sh_symbol">]);</span>

  第二步:打开你前台文章页模版,默认的是:/templets/default/article_article.htm,加入如下代码,

电脑资料

DEDECMS图片撑破布局的解决方法》(https://www.unjs.com)。那个600的数值,意思是当图片超过这个数值,自动将图片缩小,宽度缩小为600,高度自动按比例缩小,这样不会变形。

<span class="sh_symbol"><</span>script. language<span class="sh_symbol">=</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">'javascript'</span><span class="sh_symbol">></span>
<span style="color: rgb(165, 42, 42); font-weight: normal; font-style. normal; " class="sh_keyword">function</span> <span style="color: rgb(0, 0, 0); font-weight: bold; font-style. normal; " class="sh_function">ImgReSize</span><span class="sh_symbol">(</span>e<span class="sh_symbol">)</span>
<span class="sh_cbracket">{</span>
  <span style="color: rgb(165, 42, 42); font-weight: normal; font-style. normal; " class="sh_keyword">if</span><span class="sh_symbol">(</span>e<span class="sh_symbol">.</span>width<span class="sh_symbol">></span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_number">600</span><span class="sh_symbol">)</span> <span style="color: rgb(255, 0, 0); font-weight: normal; font-style. normal; " class="sh_comment">//600可根据你文章的内容区域大小,可调整</span>
  <span class="sh_cbracket">{</span>
    e<span class="sh_symbol">.</span>width<span class="sh_symbol">=</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_number">600</span><span class="sh_symbol">;</span>   <span style="color: rgb(255, 0, 0); font-weight: normal; font-style. normal; " class="sh_comment">//等同上面你设的那个数值</span>
    e<span class="sh_symbol">.</span>style<span class="sh_symbol">.</span>width<span class="sh_symbol">=</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">""</span><span class="sh_symbol">;</span>
  <span class="sh_cbracket">}</span>
  <span style="color: rgb(165, 42, 42); font-weight: normal; font-style. normal; " class="sh_keyword">if</span><span class="sh_symbol">(</span>e<span class="sh_symbol">.</span>height<span class="sh_symbol">></span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_number">10</span><span class="sh_symbol">)</span>
  <span class="sh_cbracket">{</span>
    e<span class="sh_symbol">.</span>style<span class="sh_symbol">.</span>height<span class="sh_symbol">=</span><span style="color: rgb(255, 0, 255); font-weight: normal; font-style. normal; " class="sh_string">""</span><span class="sh_symbol">;</span>
  <span class="sh_cbracket">}</span>
<span class="sh_cbracket">}</span>
<span class="sh_symbol"></</span>script<span class="sh_symbol">></span> 

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

最新文章