dedecms织梦TAG标签静态化一直是个大问题,经常因为是动态导致访问比较慢、甚至网站抓崩溃等问题,最麻烦的就是链接里面有特殊符号导致的页面不收录,今天这些问题通通都会解决。

一、dedecms织梦TAG标签说明:
本修改适用utf-8 5.6 5.7版本,可以生成网站所有TAG列表的静态网页文件,还有生成tag的首页静态文件。修改前,请备份相关的原始文件。
二、dedecms织梦TAG标签修改步骤:
1、在DEDE网站根目录,建立“tag”目录(小写)
2、在DEDE后台SQL运行器里,执行以下一条SQL:
ALTER TABLE #@__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 142行,插入
include/taglib/tag.lib.php 61行屏蔽,62行插入 (参考附带的文件,也可以直接覆盖)
include/extend.func.php 把里面的代码,都复制到你的extend.func.php文件里
三、 dedecms织梦TAG标签 使用说明:
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)'/}
织梦TAG标签的链接格式修改:
大链接过长,带有?、_等特殊符号不易收录,那么可以到这两个文件修改:
1、修改include文件夹中extend.func.php 代码32行

修改为:

2、 修改include文件夹中 arc.taghtml.class.php 代码172行
修改为:

这样就没有下划线”_”这个符号了。
这个链接就是/s/标签英文缩写+标签id.html了。例如:域名/s/beike131.html
织梦TAG标签静态化文件和教程下载:
百度云盘:https://pan.baidu.com/s/1eSWMWh0f3qfPk_SbOzNTGg
提取码: tcx5
织梦TGA标签在首页和列表调用方式:
[field:id runphp=yes]
$tsql = new DedeSql(false);
$tags = '';
$tsql->SetQuery("Select i.tag From ying_taglist t left join ying_tagindex i on i.id=t.tid where t.aid='@me'");
$tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
$tags .= "<a href="/tags.php?/".urlencode($row[" tag'])."'="">".$row['tag']."</a>";
}
@me=$tags;
[/field:id]
修改为:
[field:id runphp=yes]
global $dsql;
$tags = '';
$query = "SELECT tid,tag FROM `#@__taglist` WHERE aid='@me' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$pinyin_title = GetPinyin(stripslashes($row["tag"]));
$pinyin_title = str_replace("?","",$pinyin_title);
$pinyin_title = str_replace(":","",$pinyin_title);
$str = $GLOBALS['cfg_cmspath']."/s/".$pinyin_title."".$row['tid']."1.html";
$tags .= "#<a href="$str">".$row['tag']."</a> ";
}
@me=$tags;
[/field:id]
未经允许不得转载:魔格号 » dedecms织梦TAG标签静态化教程(2020年更新)
本文链接: http://www.cqueo.com/zatan/649.html
版权声明:文章部分内容和图片来源于网络,本文观点仅用于网络分享,如有侵权请联系站长删除!