dt7.0中加入站点地图(sitemap.txt)功能输出

为了百度seo需要,看百度站长平台可以提交sitemap.txt地图,顺便加了这个功能,供广大爱好者学习参考。

首先找到:/module/extend/admin/template/setting.tpl.php

找到:

<td><?php echo timetodate(filemtime(DT_ROOT.‘/sitemaps.xml‘));?>   <a href="?moduleid=<?php echo $moduleid;?>&file=sitemap&action=sitemaps" class="t">立即更新</a></td>
</tr>

  添加以下代码:

<tr>
<td class="tl">更新txt地图</td>
<td><?php echo timetodate(filemtime(DT_ROOT.‘/sitemaps.txt‘));?>   <a href="?moduleid=<?php echo $moduleid;?>&file=sitemap&action=sitemaptxt" class="t">立即更新</a></td>
</tr>

  然后找到文件:/module/extend/admin/sitemap.inc.php

找到以下代码:

if($action == ‘sitemaps‘) {
	tohtml(‘sitemaps‘, $module);
	msg(‘SiteMaps 更新成功‘, ‘?moduleid=‘.$moduleid.‘&file=setting#sitemaps‘);
}

  在下面添加:

else if($action == ‘sitemaptxt‘){
tohtml(‘sitemaptxt‘, $module);
	msg(‘SiteMaps 更新成功‘, ‘?moduleid=‘.$moduleid.‘&file=setting#sitemaps‘);
}

  最后在/module/extend/目录下新建一个:sitemaptxt.htm.php 文件

添加以下代码:

<?php
/*
 作者:68喜科技
 网站:www.sdfymj.com
 时间:2020/2/9
 功能:dt7.0站点地图(sitemap.txt)输出
*/
defined(‘IN_DESTOON‘) or exit(‘Access Denied‘);
if(!$MOD[‘sitemaps‘]) {
	file_del(DT_ROOT.‘/sitemaps.txt‘);
	return false;
}
$moodule_count= count($mods);//模块个数
$mods = explode(‘,‘, $MOD[‘sitemaps_module‘]);
$nums = intval($MOD[‘sitemaps_items‘]*1.2);//尽量凑成5万条
$data .= DT_PATH;
$data .= "\r\n";
//archiver输出
$archiver=$CFG[‘url‘].‘archiver/‘;
$data .= $archiver;
$data .= "\r\n";
foreach($mods as $mid) {
$indexhtm=‘index-htm-mid-‘;
$htm=‘.html‘;
$midurl=$archiver.$indexhtm.$mid.$htm;
$data .= $midurl;
$data .= "\r\n";
}
//archiver输出end
$item = ‘‘;
foreach($mods as $mid) {
	if(isset($MODULE[$mid]) && !$MODULE[$mid][‘islink‘] && !$MODULE[$mid][‘domain‘]) {
		if($mid == 4 && $CFG[‘com_domain‘]) continue;
		$url = $MODULE[$mid][‘linkurl‘];
		$data .= $url;
		$data .= "\r\n";
		if($nums) {
			$fields = $mid == 4 ? ‘linkurl‘ : ‘linkurl,edittime‘;
			$order = $mid == 4 ? ‘userid‘ : ‘addtime‘;
			$condition = $mid == 4 ? "catids<>‘‘" : "status>2";
			$result = $db->query("SELECT $fields FROM ".get_table($mid)." WHERE $condition ORDER BY $order DESC LIMIT $nums");
			while($r = $db->fetch_array($result)) {
				$item .= xml_linkurl($r[‘linkurl‘], $url);
				$item .= "\r\n";;
			}
		}
	}
}
$data .= $item;
//$data = str_replace(‘><‘, ">\n<", $data);
file_put(DT_ROOT.‘/sitemaps.txt‘, $data);
foreach($mods as $mid) {
	if(isset($MODULE[$mid]) && !$MODULE[$mid][‘islink‘] && $MODULE[$mid][‘domain‘]) {
		if($mid == 4 && $CFG[‘com_domain‘]) continue;
		$url = $MODULE[$mid][‘linkurl‘];
		$data .= $url;
		$data .= "\r\n";
		foreach(cache_read(‘category-‘.$mid.‘.php‘) as $c) {
			$data .= $url.$c[‘linkurl‘];
			$data .= "\r\n";
		}
		$item = ‘‘;
		$nums = intval($MOD[‘sitemaps_items‘]);
		if($nums) {
			$fields = $mid == 4 ? ‘linkurl‘ : ‘linkurl,edittime‘;
			$order = $mid == 4 ? ‘userid‘ : ‘addtime‘;
			$condition = $mid == 4 ? "catids<>‘‘" : "status>2";
			$result = $db->query("SELECT $fields FROM ".get_table($mid)." WHERE $condition ORDER BY $order DESC LIMIT $nums");
			while($r = $db->fetch_array($result)) {
				$item .=xml_linkurl($r[‘linkurl‘], $url);
				$item .= "\r\n";
			}
		}
		$data .= $item;
		$data .= "\r\n";
		//$data = str_replace(‘><‘, ">\n<", $data);
		file_put(DT_ROOT.‘/‘.$MODULE[$mid][‘moduledir‘].‘/sitemaps.txt‘, $data);
	}
}
return true;
?>

  然后保存为utf-8格式即可,然后进入后台更新下sitemap吧,是不是可以生成sitemap.txt文件了,觉得不错就收藏转发吧!

演示地址:http://www.sdfymj.com/sitemaps.txt

原文地址:https://www.cnblogs.com/68xi/p/12288221.html

时间: 2024-07-30 16:38:11

dt7.0中加入站点地图(sitemap.txt)功能输出的相关文章

[Asp.net]站点地图SiteMap

引言 在项目中发现使用站点地图的控件,之前没总结过这方面的东西,就写了一个demo测试了一下,这里记录一下,算是总结吧. Web.sitemap 1 <?xml version="1.0" encoding="utf-8" ?> 2 <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > 3 <siteMapNode url=&q

php生成百度站点地图sitemap.xml

<?php header("Content-type:text/html;charset=utf-8"); //php生成百度站点地图sitemap.xml //http://www.baidu.com/search/sitemaptools_help.html include("../config.inc.php"); mysql_connect($CFG['db_host'] ,$CFG['db_user'],$CFG['db_pass']) or die

在Cocos2d-X3.0中使用瓦片地图中的对象层

在Cocos2d-X中使用瓦片地图是非常常见的,例如在跑酷和塔防游戏中通常会用到瓦片地图,在前面的博客中我也介绍了瓦片地图的使用,这篇博客主要介绍在Cocos2d-X3.0中使用瓦片地图中的对象层,因为3.0和2.0中调用瓦片地图的对象层的方式有所不同 对于瓦片地图的使用可以参考我的博客 瓦片地图编辑器的使用:http://blog.csdn.net/u010105970/article/details/41118191 在Cocos2d-X中使用瓦片地图<一>:http://blog.csd

站点地图静态生成功能

原来的站点地图,因为启用了伪静态,所以直接伪静态指向生成站点地图的PHP文件,HTML地图无所谓,是正常的,而XML地图,则一直不能显示.从代码里查看,是正常的,后来用http状态查询发现,xml的返回状态是 Content-Type: text/xml 而启用伪静态的sitemap.xml返回的状态还是根html的代码返回状态是一样的 Content-Type: text/html; charset=utf-8 尝试了很多办法解决,发现用PHP返回header值也还是不行,必须静态生成,需要在

WordPress免插件生成完整站点地图(sitemap.xml)的php代码

让这个代码更加完善,可以同时生成首页.文章.单页面.分类和标签的 sitemap! 一.PHP 代码 <?php require('./wp-blog-header.php'); header("Content-type: text/xml"); header('HTTP/1.1 200 OK'); $posts_to_show = 1000; echo '<?xml version="1.0" encoding="UTF-8"?&g

net5:动态修改内存中的站点地图节点

原文发布时间为:2008-07-29 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebContro

利用ASP.NET里自带的站点地图工具制作网站站点地图

站点地图很方便能快速给我们导航我们要去访问的地址,能按层级关系分门别类,给用户一个很好的用户体验,很好的看到自己当前所在的网站位置 站点地图,又称网站地图,它就是一个页面,上面放置了网站上所有页面的链接.大多数人在网站上找不到自己所需要的信息时,可能会将网站地图作为一种补救措施.搜索引擎蜘蛛非常喜欢网站地图. 网站地图是一个网站所有链接的容器.很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎蜘蛛抓取网站页面,通过抓取网站页面,清晰了解网站的架构,网站地图一般存放在根目录下并命名

程序中使用百度地图

在程序中使用百度地图提供的功能之前需要做以下的准备工作 1.申请 API Key http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/ak 2.下载百度地图Android版的SDK http://developer.baidu.com/map/sdkandev-download.htm 3.解压后,在工程中配置,具体配置可参照百度官网 http://lbsyun.baidu.com/index.php?t

Mvc中使用MvcSiteMapProvider实现站点地图之基础篇

MvcSiteMapProvider 是针对 ASP.NET MVC 中,提供菜单. 网站地图. 站点地图路径功能,以及更多的工具.它提供配置使用一个可插入的体系结构,可以是 XML. 数据库或动态生成导航结构的能力. 如图: 在MvcSiteMapProvider 中有三种方式来实现站点地图:XML,.NET Attributes,IDynamicNodeProvider. 下面,我们先通过XML方式来实现站点地图. 1.新建Mvc4项目,选择Internet应用程序.然后通过Nuget来安装