二次開發-織夢dedecms5.7標簽tags靜態化生成HTML方法

二次開發-織夢dedecms5.7標簽tags靜態化生成HTML方法

瀏覽次數:

作者:管理員

來源: 邈瀚云

發布時間:2019-09-06 09:25

內容簡介:織夢是目前使用最多的cms,其良好的搜索引擎優化功能使得很多在建設企業站的時候都使用織夢cms, 對于織夢很多有利于優化的方面我們比較熟悉的就有織夢的tag標簽,tag標簽的功能就是讓有一些相同關鍵詞的網站可以得以聚合,只要有新的屬于某個tag標簽的文章被添加那么tag頁面就會進行一次更新,因

  • 文章內容
  • 相關內容
織夢是目前使用最多的cms,其良好的搜索引擎優化功能使得很多在建設企業站的時候都使用織夢cms, 對于織夢很多有利于優化的方面我們比較熟悉的就有織夢的tag標簽,tag標簽的功能就是讓有一些相同關鍵詞的網站可以得以聚合,只要有新的屬于某個tag標簽的文章被添加那么tag頁面就會進行一次更新,因為是很多相同主題的文章聚合在一起所以這樣的頁面對于搜索引擎來說是非常有價值的,有很多排名很好的頁面特別是長尾,tag頁占了很大的一部分。但是現在的織夢系統的tag標簽是動態的,雖然可以使用偽靜態,但是訪問的速度受限,tag標簽靜態化的插件可以讓tag頁生成真靜態,生成的文件名是tag的漢語拼音,后綴是html ,非常有利于搜索引擎優化。 下面是織夢默認的tag頁面鏈接:
 
http://www.***.com/tags.php?/%BA%DA%B0%D7/
 
下邊是二次開發后的靜態化鏈接:
 
http://www.***.com/tag/xinwenzixun_34_1.html
 
下邊具體來說說實現的流程,本人在織夢5.7版本測試,于2014年9月28日; 
 
一、說明:本修改適用5.7 GBK,可以生成網站所有TAG列表的靜態網頁文件,還有生成tag的首頁靜態文件。
 
修改前,請備份相關的原始文件。
 
二、修改步驟:
 
1、在DEDE網站根目錄,建立“tag”目錄(小寫)
 
2、在DEDE后臺SQL運行器里,執行以下一條SQL:
 
ALTER TABLE `dede_tagindex` ADD `maketime` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0';
3、增加文件:
 
templets/default/list_tag.htm  //可從文章列表頁復制修改
 
templets/default/index_tag.htm  //可從tag.htm復制
 
dede/makehtml_tag_action_list.php
 
dede/makehtml_tag_action_index.php
 
dede/makehtml_tag.php
 
dede/templets/makehtml_tag.htm
 
include/arc.taghtml.class.php
 
4、修改文件:
 
dede/inc/inc_menu.php 
 
143行,插入  <m:item name='更新TAG靜態' link='makehtml_tag.php' rank='sys_MakeHtml' target='main' />
 
include/taglib/tag.lib.php  61行屏蔽,62行插入 (參考附帶的文件,也可以直接覆蓋)
 
include/extend.func.php   把里面的代碼,都復制到你的extend.func.php文件里     
 
三、使用說明:
 
1、進入后臺“生成”,即可看到左邊的“更新TAG靜態”(就在更新主頁、欄目、文檔等功能的下方)
 
2、自行編輯TAG列表頁模板list_tag.htm、TAG首頁模板index_tag.htm,都放在你站點模板所在目錄即可(和首頁模板、列表頁模板、內容頁模板等在一起)
 
3、生成有個選項“是否強制全部生成”,它是為了節約資源設計的
 
如果是“重新生成全部TAG列表”,它會更新所有的TAG的列表頁;
 
如果是“僅更新上次生成后有變化的TAG”,它則會只更新上次更新之后有變化及新增加的TAG的列表頁,這個比較節約時間
 
4、生成的TAG首頁,放在根目錄,叫做tags.html
 
5、如果你的模板里,還有TAG需要指向到它的靜態地址,則用參考這個函數去處理其標簽即可:
 
{dede:tag type='current'}
[field:id function="nic_tag_url(@me)" /] 
{/dede:tag} 
其中的id就是這個TAG的ID號
 
6、在內容頁模板,如果想指向該文TAG的列表頁,用以下標簽即可:
 
{dede:field.id function='nic_arc_tag_link(@me)'/}
在文章列表頁、arclist標簽等,使用一下代碼調用文章TAG列表
 
[field:id function='nic_arc_tag_link(@me)'/]
高級補充說明:
 
1、TAG這個目錄可以改,修改arc.taghtml.class.php的146行和extend.func.php的15行,里面的tag/字樣
 
2、文件名里的id號不能去掉,舉例說因為“作業”和“昨夜”的拼音都一樣,如果沒有ID,他們的文件名就重復了。
 
3、生成速度和普通列表頁一致的,因為是從哪里修改過來的。 你有1萬個TAG,假定你每個TAG對應有30個文章吧,
 
列表頁10篇為一頁,那就有3萬篇了。
 
你可以到后臺的sql運行工具里,執行這一句看看,就知道TAG對應文章之后,數量就遠大于TAG數量本身:
 
select count(*) as c from dede_taglist
4、如果需要在發布新文章的時候,同時更新相關的TAG列表頁,可以參考附帶的inc_archives_functions.php,修改
 
你DEDE后臺目錄dede/inc/inc_archives_functions.php
 

增加 741行、758~765行


聲明:本文文字、圖片等素材除標明原創外均采集于網絡,如有侵權,請及時告知我們,我們將在最短的時間內刪除。
  • 667點擊
    經常有織夢用戶站長咨詢AB模板網:在做網站尤其是做企業網站的時候總是會發現調用文章不合適的事情發生,調用的文章的關鍵詞總是沒有我們想要的。 比如我們網站里有很多文章中含有“織夢技術,dede”的詞,那么想在網站首...
  • 595點擊
    織夢默認只允許上傳 jpg,gif,png 格式的圖片文件,如果想要上傳ico圖標格式文件或者其他格式圖片文件需要做如下幾步 1.后臺-系統-系統基本參數-附件設置-圖片瀏覽器文件類型 添加 |ico 如圖,注意有個 | 豎線 2.打開 /include/dialog/se...
  • 564點擊
    織夢導航欄目頂級和二級判斷二級輸出不同url 需求 有二級欄目時一級欄目的Url輸出 javascript:; 只有一級欄目就輸出鏈接 解答 判斷是否有子欄目,有就輸出 javascript:; ,沒有子欄目就直接輸出一級欄目的鏈接 {dede:field name=typeid runp...
  • 542點擊
    需要修改下include/arc.archives.class.php 這個文件,找到: $this-Fields[typename] = $this-TypeLink-TypeInfos[typename]; 在這段的下面添加: $this-Fields[seotitle] = $this-TypeLink-TypeInfos[seotitle]; 調用方法,直接在內容頁中寫:{dede:field.seotitle/}...
  • 387點擊
    我們知道織夢的最大特點就是可以用標簽進行調用自己需要的信息,很多時候我們調用的信息都是有內容的,但是也存在有的時候調用錯誤導致輸出信息為空,此時我們就需要對調用信息進行判斷再輸出,方法很簡單,格式如下:...
  • (^ω^)MG东方珍兽app 贵州十一选五遗漏 波克哈尔滨麻将一毛群 麻将玩法视频 捕鸟达人-让子弹飞 内蒙古十一选五前三直选 广西快三基本走势一定牛 pc蛋蛋预测天涯 开心棋牌游戏 北京麻将规则 河北十一选五投注说明 云南快乐十分组选3 极速赛车计划技巧 澳门二十一点网址 微信红包扫雷群二维码 贵阳麻将技巧十句口 奔驰在线网址http