dedecms內(nèi)容頁(yè)圖片過大,我們又不希望它不按比例的縮小,因?yàn)槿绻s小不按比例,圖片就會(huì)變形,所以我們需要找到一種等比例縮放圖片的方法。
第一步:打開include/arc.archives.class.php
找到:
//設(shè)置全局環(huán)境變量
$this->fields['typename'] = $this->typelink->typeinfos['typename'];
@setsysenv($this->fields['typeid'],$this->fields['typename'],$this->fields['id'],$this->fields['title'],'archives');
在下面加入代碼:
//替換圖片alt為文檔標(biāo)題
$this->fields['body'] = str_ireplace(array('alt=','alt='''),'',$this->fields['body']);
$this->fields['body'] = preg_replace(@ [s]{0,}alt[s]{0,}=['s]{0,}[ss]{0,}['s]
@isu, ,$this->fields['body']);
$this->fields['body'] = str_ireplace(<img ,<img alt=.$this->fields['title'].
,$this->fields['body']);
//img標(biāo)簽中加入超寬縮小js調(diào)用代碼
$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']);
第二步:打開你前臺(tái)文章頁(yè)模版,默認(rèn)的是:/templets/default/article_article.htm,加入如下代碼。那個(gè)600的數(shù)值,意思是當(dāng)圖片超過這個(gè)數(shù)值,自動(dòng)將圖片縮小,寬度縮小為600,高度自動(dòng)按比例縮小,這樣不會(huì)變形。
<script language='javascript'>
function imgresize(e)
{
if(e.width>600) //600可根據(jù)你文章的內(nèi)容區(qū)域大小,可調(diào)整
{
e.width=600; //等同上面你設(shè)的那個(gè)數(shù)值
e.style.width=;
}
if(e.height>10)
{
e.style.height=;
}
}
</script>
到此,我們就全部修改好了,內(nèi)容頁(yè)圖片太大導(dǎo)致布局混亂問題就解決了。