POST TIME:2017-11-22 22:46
在Dedecms系統(tǒng)中,文章摘要(可以通過infolen或description相 關(guān)標(biāo)簽調(diào)用)被設(shè)置了字?jǐn)?shù)上限為250字符,設(shè)置上限的主要目的是減少數(shù)據(jù)庫的冗余,保證網(wǎng)站良好的性能。因此,如果對簡介內(nèi)容不設(shè)置上限顯然不合理,但 是如果可以自由控制這一上限,那么將對網(wǎng)頁內(nèi)容布局帶來積極作用。在網(wǎng)頁設(shè)計(jì)過程中,往往需要在頻道列表頁面調(diào)用到文章摘要,如果可以有效控制文章摘要的 字?jǐn)?shù),那么就可以使得頁面布局很靈活。
在Dedecms中,在列表頁調(diào)用文章摘要的方法主要有:
1:[field:info /] 2:[field:description /]3:[field:info function="cn_substr(@me,字符數(shù))"/] 4:[field:description function="cn_substr(@me,字符數(shù))"/]
第1、2種方法是直接調(diào)用文章摘要,在調(diào)用的字?jǐn)?shù)問題上,當(dāng)使用[field:info /]時(shí),可以在{dede:arclist infolen=' ' }{/dede:arclist}中,設(shè)置調(diào)用摘要的字符數(shù)(最高可設(shè)置為系統(tǒng)設(shè)置的250);如果使用[field:description /],則直接使用后臺(tái)設(shè)置的摘要字符上限。顯然,這兩種方式都很被動(dòng),靈活性太差。
第3、4種方法通過function函數(shù)實(shí)現(xiàn)了對文章摘要顯示字符的靈活調(diào)整。當(dāng)然,在沒有修改文章摘要內(nèi)容字符上限時(shí),這4個(gè)方法的差異并不大。 但是,下面我們來說如何修改這一上限值,就可以體現(xiàn)出[field:description function="cn_substr(@me,字符數(shù))"/]這一方式的重要性。
在Dedecms中,與文章摘要相關(guān)的php文件主要有:
/dede/archives_add.php /dede/archives_edit.php /dede/article_add.php /dede/article_edit.php /dede/article_description_main.php
在add頁面,有一句話是:“$description = cn_substrR($description,$cfg_auot_description); ”,這句話實(shí)現(xiàn)了[field:description function="cn_substr(@me,字符數(shù))"/]這一功能。因?yàn)檫@一語句確實(shí)有利于頁面布局,因此我們在實(shí)驗(yàn)中沒有修改。
在dede/article_edit.php 頁面,有一句話是:“$description = cn_substrR($description,250); ”,這句話中出現(xiàn)了一個(gè)熟悉的字符數(shù)“250”,這就是系統(tǒng)設(shè)置的文章摘要字符數(shù)的上限值。 如果是gbk編碼則顯示出來的就是125個(gè)字。如果是utf-8編碼則是81個(gè)字。顯然,我們要突破文章摘要字符數(shù)上限,肯定得拿它開刀了。是的,這里修 改“250”為其他值即可,例如“500”。這里不推薦設(shè)置得過高,一個(gè)是在列表頁沒必要展示太多內(nèi)容(展示太多內(nèi)容不如直接用body了),另一個(gè)是避 免數(shù)據(jù)庫產(chǎn)生冗余。
完成上面的修改還不夠,還需要修改article_description_main.php
在article_description_main.php頁面,找到“if($dsize>250) $dsize = 250;”語句,這里限制了在后臺(tái)自動(dòng)獲取摘要的字符數(shù)。把這里的“250”修改為“500”即可,也就是和之前修改的字符數(shù)一致即可。(如果你確認(rèn)你的 每一條文章都是手動(dòng)添加,手動(dòng)完成摘要獲取就不需要修改這個(gè)文件了。自動(dòng)摘要獲取主要還是給大量文章和采集準(zhǔn)備的。)
最后,登錄后臺(tái),在系統(tǒng)-系統(tǒng)基本參數(shù)-其它選項(xiàng)中,自動(dòng)摘要長度,改成500即可,也就是和之前修改的字符數(shù)一致即可。
完成上述修改后,我們再到頻道列表頁,通過標(biāo)簽調(diào)用即可,示例標(biāo)簽如下:
{dede:list typeid='' row='5' titlelen='100' orderby='new' pagesize='5'} <h3><a href='[field:arcurl/]'>[field:title/]</a></h3><p>[field:description function='cn_substr(@me,500)'/]...</p>{/dede:list}
通過以上方式,我們就實(shí)現(xiàn)了調(diào)用的文章摘要字符為500字符,完全突破了文章摘要250字符的系統(tǒng)限制,為網(wǎng)頁布局提供了更加廣闊的空間。