主頁(yè) > 網(wǎng)站建設(shè) > 建站知識(shí) > 織夢(mèng)dedecms修改欄目描述和文章關(guān)鍵字?jǐn)?shù)變長(zhǎng)的完

織夢(mèng)dedecms修改欄目描述和文章關(guān)鍵字?jǐn)?shù)變長(zhǎng)的完

POST TIME:2021-05-25 00:44

在Dedecms系統(tǒng)中,文章摘要(可以通過(guò)infolen或description相關(guān)標(biāo)簽調(diào)用)被設(shè)置了字?jǐn)?shù)上限為250字符,設(shè)置上限的主要 目的是減少數(shù)據(jù)庫(kù)的冗余,保證網(wǎng)站良好的性能。因此,如果對(duì)簡(jiǎn)介內(nèi)容不設(shè)置上限顯然不合理,但是如果可以自由控制這一上限,那么將對(duì)網(wǎng)頁(yè)內(nèi)容布局帶來(lái)積極 作用。在網(wǎng)頁(yè)設(shè)計(jì)過(guò)程中,往往需要在頻道列表頁(yè)面調(diào)用到文章摘要,如果可以有效控制文章摘要的字?jǐn)?shù),那么就可以使得頁(yè)面布局很靈活。

方法一

是通過(guò)修改數(shù)據(jù)庫(kù)的方法

1.改變文章內(nèi)容的關(guān)鍵詞和描述字?jǐn)?shù):
同樣在,系統(tǒng)工具---SQL命令行工具---運(yùn)行SQL命令行:
alter table dede_archives change column keywords keywords text;

alter table dede_archives change column description description text;

接下來(lái)修改dede 文件下de article_add.php 和 article_edit.php
$description = cn_substrR($description,500);
$keywords = cn_substrR($description,120);
其中的數(shù)字就是你想要字符數(shù),分別是描述和關(guān)鍵詞。

2.改變欄目的關(guān)鍵詞和描述字?jǐn)?shù):
在系統(tǒng)工具---SQL命令行工具---運(yùn)行SQL命令行:
alter table dede_arctype change column description description text;
alter table dede_arctype change column keywords keywords text;

方法二 建議就這方法

在Dedecms中,在列表頁(yè)調(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ù)問(wèn)題上,當(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種方法通過(guò)function函數(shù)實(shí)現(xiàn)了對(duì)文章摘要顯示字符的靈活調(diào)整。當(dāng)然,在沒(méi)有修改文章摘要內(nèi)容字符上限時(shí),這4個(gè)方法的差異并不大。 但是,下面我們來(lái)說(shuō)如何修改這一上限值,就可以體現(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頁(yè)面,有一句話是:“$description = cn_substrR($description,$cfg_auot_description); ”,這句話實(shí)現(xiàn)了[field:description function="cn_substr(@me,字符數(shù))"/]這一功能。因?yàn)檫@一語(yǔ)句確實(shí)有利于頁(yè)面布局,因此我們?cè)趯?shí)驗(yàn)中沒(méi)有修改。

在edit頁(yè)面,有一句話是:“$description = cn_substrR($description,250); ”,這句話中出現(xiàn)了一個(gè)熟悉的字符數(shù)“250”,這就是系統(tǒng)設(shè)置的文章摘要字符數(shù)的上限值。 如果是gbk編碼則顯示出來(lái)的就是125個(gè)字。如果是utf-8編碼則是81個(gè)字。顯然,我們要突破文章摘要字符數(shù)上限,肯定得拿它開刀了。是的,這里修 改“250”為其他值即可,例如“500”。這里不推薦設(shè)置得過(guò)高,一個(gè)是在列表頁(yè)沒(méi)必要展示太多內(nèi)容(展示太多內(nèi)容不如直接用body了),另一個(gè)是避 免數(shù)據(jù)庫(kù)產(chǎn)生冗余。

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

在article_description_main.php頁(yè)面,找到“if($dsize>250) $dsize = 250;”語(yǔ)句,這里限制了在后臺(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)摘要長(zhǎng)度,改成500即可,也就是和之前修改的字符數(shù)一致即可。

完成上述修改后,我們?cè)俚筋l道列表頁(yè),通過(guò)標(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}

通過(guò)以上方式,我們就實(shí)現(xiàn)了調(diào)用的文章摘要字符為500字符,完全突破了文章摘要250字符的系統(tǒng)限制,為網(wǎng)頁(yè)布局提供了更加廣闊的空間。



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266