織夢優化:設置文章摘要字數的方法

很多站長購買美國虛擬主機爲了搭建外貿企業站,經常選擇一鍵安裝織夢繫統(DedeCMS)來搭建企業站,在Dedecms系統中,文章摘要(可以通過infolen或desciption相關標籤調用)。但是被設置了字數上限爲250字符,這對於網站的SEO優化不太有利。

雖然設置上限的主要目的是減少數據庫的冗餘,保證網站良好的性能。但是如果可以自由控制這一上限,那麼將對網頁內容佈局帶來積極作用。在CMS的網頁設計過程中,往往需要在頻道列表頁面調用到文章摘要,如果可以有效控制文章摘要的字數,那麼就可以使得頁面佈局很靈活.

在Dedecms中,在列表頁調用文章摘要的方法主要有:

:[field:info /] 2:[field:desciption /] 3:[field:info function=̶cn_subst(@me,字符數)̶/] 4:[field:desciption function=̶cn_subst(@me,字符數)̶/]

第、2種方法是直接調用文章摘要,在調用的字數問題上,當使用[field:info /]時,可以在{dede:clist infolen=̻ ̺ }{/dede:clist}中,設置調用摘要的字符數(最高可設置爲系統設置的250);如果使用[field:desciption /],則直接使用後臺設置的摘要字符上限。顯然,這兩種方式都很被動,靈活性太差。 第3、4種方法通過function函數實現了對文章摘要顯示字符的靈活調整。當然,在沒有修改文章摘要內容字符上限時,這4個方法的差異並不大。但是,下面我們來說如何修改這一上限值,就可以體現出[field:desciption function=̶cn_subst(@me,字符數)̶/]這一方式的重要性。

在Dedecms中,與文章摘要相關的php文件主要有: /dede/chies_dd.php /dede/chies_edit.php /dede/ticle_dd.php /dede/ticle_edit.php /dede/ticle_desciption_min.php

在dd頁面,有一句話是:“$desciption = cn_substR($desciption,$cfg_uot_desciption); ”,這句話實現了[field:desciption function=̶cn_subst(@me,字符數)̶/]這一功能。因爲這一語句確實有利於頁面佈局,因此我們在實驗中沒有修改。在edit頁面,有一句話是:“$desciption = cn_substR($desciption,250); ”,這句話中出現了一箇熟悉的字符數“250”,這就是系統設置的文章摘要字符數的上限值。 如果是gbk編碼則顯示出來的就是25個字。如果是utf-8編碼則是8個字。顯然,我們要突破文章摘要字符數上限,肯定得拿它開刀了。是的,這裏修改“250”爲其他值即可,例如“500”。這裏不推薦設置得過高,一箇是在列表頁沒必要展示太多內容(展示太多內容不如直接用body了),另一箇是避免數據庫產生冗餘。

完成上面的修改還不夠,還需要修改ticle_desciption_min.php

在ticle_desciption_min.php頁面,找到“if($dsize>250) $dsize = 250;”語句,這裏限制了在後臺自動獲取摘要的字符數。把這裏的“250”修改爲“500”即可,也就是和之前修改的字符數一致即可。(如果你確認你的每一條文章都是手動添加,手動完成摘要獲取就不需要修改這個文件了。自動摘要獲取主要還是給大量文章和採集準備的。)

最後,登錄後臺,在系統-系統基本參數-其它選項中,自動摘要長度,改成500即可,也就是和之前修改的字符數一致即可。

 完成上述修改後,我們再到頻道列表頁,通過標籤調用即可,示例標籤如下:

{dede:list typeid=̶ ow=̻5′ titlelen=̻00′ odeby=̻new̻ pgesize=̻5′} <h3>< hef='[field:cul/]̻>[field:title/]</></h3> <p>[field:desciption function=̻cn_subst(@me,500)̻/]…</p> {/dede:list}

通過以上方式,我們就實現了調用的文章摘要字符爲500字符,完全突破了文章摘要250字符的系統限制,爲之後的網站佈局擴展了空間,也有利於網站摘要的SEO優化。