dedecms圖片撐破布局的解決方法

字號(hào):


    dedecms內(nèi)容頁(yè)圖片過(guò)大,我們又不希望它不按比例的縮小,因?yàn)槿绻s小不按比例,圖片就會(huì)變形,所以我們需要找到一種等比例縮放圖片的方法。
    第一步:打開(kāi)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']);
    第二步:打開(kāi)你前臺(tái)文章頁(yè)模版,默認(rèn)的是:/templets/default/article_article.htm,加入如下代碼。那個(gè)600的數(shù)值,意思是當(dāng)圖片超過(guò)這個(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)致布局混亂問(wèn)題就解決了。