
織夢的強(qiáng)大就在于開源,新手站長可能對開源不是很了解,開源的含義就是說源代碼公開,源代碼可以說是軟件的核心技術(shù),開源意味著核心技術(shù)公開,但應(yīng)注意,原作者仍然擁有該軟件的版權(quán)。可是仍然有很多默認(rèn)的弊端不適合當(dāng)前搜索引擎的優(yōu)化,最突出的一個(gè)問題,就是織夢的TAGS標(biāo)簽的長度文字,織夢默認(rèn)的TAGS標(biāo)簽長度是12個(gè)字節(jié),也就是6個(gè)漢字,這對于當(dāng)前的搜索引擎來說是不太友好的,今天我們就來說一說如何修改TAGS標(biāo)簽的長度為我們需要的長度。 第一步:修改數(shù)據(jù)庫中表dede_tagindex和dede_taglist的tag字段屬性:varchar(12)修改為varchar(255)這些需要在后臺系統(tǒng)-SQL命令行工具之中運(yùn)行下面的代碼:
ALTER TABLE `dede_tagindex` CHANGE `tag` `tag` CHAR( 255 ) ;
ALTER TABLE `dede_taglist` CHANGE `tag` `tag` VARCHAR( 255 ) ;
view source
代碼的目的就是通過織夢封裝好的SQL代碼修改織夢數(shù)據(jù)庫dede_tagindex和dede_taglist表中的tag字段的值為我們設(shè)定的255個(gè)字節(jié),也就是124個(gè)漢字,大家都知道計(jì)算機(jī)的英文和漢字占用的字節(jié)個(gè)數(shù)是不一致的。 第二步:修改源碼,在include/helpers/archive.helper.php中查找:
| 1 | if(isset($tag[12]) || $tag!=stripslashes($tag)) |
修改為:
| 1 | if(isset($tag[255]) || $tag!=stripslashes($tag)) |
然后查找:
| 1 | if(isset($tag[20]) || $tag!=stripslashes($tag)) |
修改為:
| 1 | if(isset($tag[255]) || $tag!=stripslashes($tag)) |
然后我們在發(fā)布文章的時(shí)候,TAGS標(biāo)簽的長度就會發(fā)生變化,畢竟一個(gè)TAGS標(biāo)簽的長度不會超過一百多個(gè)漢字,所以大家可以隨意的添加TAGS標(biāo)簽,但是也有一個(gè)問題暴露出來,有些現(xiàn)實(shí)TAGS標(biāo)簽的地方寬度不夠,調(diào)用出來的TAGS標(biāo)簽會撐破div標(biāo)簽的設(shè)置,所以我們需要控制調(diào)用出來的TAGS標(biāo)簽的長度,這時(shí)候就需要修改include/taglib文件夾下面的tag.lib.php文件了,在里面查找:
$row['tag'] = htmlspecialchars($row['tag']);
修改為:
$row['tag'] = cn_substr($row['tag'],$titlelen);
上面的cn_substr函數(shù)是織夢封裝好的字符串截取函數(shù),也就是說按照設(shè)定的titlelen的值來截取輸出的TAGS標(biāo)簽長度,所以我們需要在織夢默認(rèn)的TAGS標(biāo)簽調(diào)用代碼之中添加titlelen的值,代碼如下:
{dede:tag row='10' getall='1' sort='month' titlelen="10"} <li><a href='[field:link/]'>[field:tag /]</a></li> {/dede:tag}也就是說對調(diào)用出來的TAGS標(biāo)簽的長度為5個(gè)漢字。在這里需要多說一下,有些時(shí)候我們調(diào)用的TAGS標(biāo)簽并不是完全的漢字,可能為","或者什么分隔符號,占用一定的字符,而織夢的TAGS標(biāo)簽分隔符默認(rèn)不支持中文,所以大家要有心理準(zhǔn)備,調(diào)用的TAGS標(biāo)簽長度雖然得到控制,顯示上可能不是很理想。
新聞熱點(diǎn)
疑難解答
圖片精選