destoon7.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喜科技
 聯繫方式:qq:2424348224
 網站: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

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章