心情札记 Article与你一起分享喜怒哀乐

当前位置:主页 > 心情札记 > 专业知识 >

织梦5.7CMS如何生成百度地图

日期:2016-08-17 / 人气:

  我想大家都会有这样的困惑,织梦系统自带的地图插件,不够美观,只有目录,没有文章链接,不太利于SEO优化, 今天就给大家介绍下如何修改织梦自带地图插件
       
        我用我的新网站 梨窝窝 来做演示,之前dede系统用的sitemap是直接用的插件百度新闻…翻阅百度查看了很多资料总结下来,可以这样用,今天就特意把这个怎么用记录下来 ,dedecms正确的sitemap文件编写



我们直接开始操作吧
1.dedecms 5.7里面本身有一个生成地图,这个生成的是html格式的,并不是我们想要的,而且只生成栏目的,没有文章链接,不太利于百度蜘蛛爬行我们的网站,但是这个界面我们可以方便操作,所以就在这上面来进行修改
2.在 /templets/plus 目录下 找到这个文件sitemap.htm 我们用它来做百度地图
3.修改sitemap.htm :把原来的代码全部删除 然后用下面的代码
{dede:global.cfg_basehost/} 
 always 
 1.0 
  
{dede:arclist row='10000' orderby='pubdate'}
 
 [field:global.cfg_basehost/][field:arcurl/] 
 [field:pubdate function="GetDateMK(@me)"/] 
 
{/dede:arclist} 
{dede:channelartlist row='50'}
 
 {dede:global.cfg_basehost/}{dede:field name='typeurl'/}
 {dede:php}echo date('Y-m-d');{/dede:php}
 
 {dede:channel type='son' row='8'}
 
 [field:global.cfg_basehost/][field:typelink/]
 [field:id runphp="yes"]@me=date('Y-m-d');[/field:id]
 
 {/dede:channel}
 {/dede:channelartlist}
 
 
    
      {dede:arclist typeid='0' } 
       [field:global.cfg_basehost/][field:arcurl/][field:pubdate function="MyDate('Y-m-d',@me)"/]daily1.0
      {/dede:arclist}
      {dede:channelartlist row=50}
        {dede:global.cfg_basehost/}{dede:field name='typeurl'/}{dede:php}echo date('Y-m-d');{/dede:php}daily1.0
           {dede:channel type='son' row='8'}
        [field:global.cfg_basehost/][field:typelink/][field:id runphp="yes"]@me=date('Y-m-d');[/field:id]daily1.0
{/dede:channel}
{/dede:channelartlist}

大家可以自由设置显示条数

 4.这个是关键点 
之前我已经这里没有修改正确,导致一直生成不了数据,后来改了一些地方才调用出来
找到dede后台目录 找到 makehtml_map.php  修改
在上面引用文件的时候 加一句 require_once(DEDEINC."/arc.partview.class.php")
搜索 if($dopost==”site”)
然后把这个判断里面的代码替换掉:
if($dopost==”site”)
{
$murl = $cfg_cmspath.”/sitemap.xml”;
$tmpfile = $cfg_basedir.$cfg_templets_dir.”/plus/sitemap.htm”;
}else
{
$murl = $cfg_cmspath.”/rssmap.html”;
$tmpfile = $cfg_basedir.$cfg_templets_dir.”/plus/rssmap.htm”;
}
(原因: 1.html改为xml 不用多说 格式问题      2.把data去掉了,因为sitemap这样的文件放到根目录效果更好 )

//$dtp = new DedeTagParse();
//$dtp->LoadTemplet($tmpfile);
//$dtp->SaveTo($cfg_basedir.$murl);
注释这三句话
在上面的判断下面加入
$pv = new PartView();
$pv->SetTemplet($tmpfile); //在这里修改你的谷歌地图模板路径,相对于模板目录
$pv->SaveToHtml($cfg_basedir.$murl); //生成文件名,保存在根目录
 
//$pv->Clear();
把这段代码也注释掉

整体代码如下:
<?php
/**
 * 生成网站地图
 *
 * @version        $Id: makehtml_map.php 1 11:17 2010年7月19日Z tianya $
 * @package        DedeCMS.Administrator
 * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.
 * @license        http://help.dedecms.com/usersguide/license.html
 * @link           http://www.dedecms.com
 */
require_once(dirname(__FILE__)."/config.php");
require_once(DEDEINC."/sitemap.class.php");
require_once(DEDEINC."/dedetag.class.php");
require_once(DEDEINC."/arc.partview.class.php")
 
if(empty($dopost))
{
    ShowMsg("参数错误!","-1");
    exit();
}
$isremote = empty($isremote)? 0 : $isremote;
$serviterm=empty($serviterm)? "" : $serviterm;
$sm = new SiteMap();
$maplist = $sm->GetSiteMap($dopost);
if($dopost=="site")
{
    $murl = $cfg_cmspath."/sitemap.xml";
    $tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/sitemap.htm";
}
else
{
    $murl = $cfg_cmspath."/rssmap.xml";
    $tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/rssmap.htm";
}
//$dtp = new DedeTagParse();
//$dtp->LoadTemplet($tmpfile);
//$dtp->SaveTo($cfg_basedir.$murl);
$pv = new PartView();
$pv->SetTemplet($tmpfile); //在这里修改你的谷歌地图模板路径,相对于模板目录  
$pv->SaveToHtml($cfg_basedir.$murl);   //生成文件名,保存在根目录 
if($cfg_remote_site=='Y' && $isremote == 1)
{
    if($serviterm!="")
    {
        list($servurl, $servuser, $servpwd) = explode(',', $serviterm);
        $config=array( 'hostname' => $servurl, 'username' => $servuser, 
                   'password' => $servpwd,'debug' => 'TRUE');
    } else {
        $config=array();
    }
    if( $ftp->connect($config) )
    {
        //分析远程文件路径
        $remotefile = $murl;
        $localfile = '..'.$remotefile;
        $remotedir = preg_replace('#[^\/]*\.html#', '', $remotefile);
        $ftp->rmkdir($remotedir);
        if($ftp->upload($localfile, $remotefile, 'acii')) echo "远程发布成功!"."<br />";
    }
}
//$pv->Clear();
echo "<a href='$murl' target='_blank'>成功更新文件: $murl 浏览...</a>";
exit();
 
 这样修改就可以生成百度的XML地图了,希望大家能够通过此方法修改成功,如果有问题可以留言大家一起探讨,欢迎大家多多点点我网站经常来看看 ,我会感激无比的!

版权声明:本文著作权归梨窝窝所有,欢迎分享本文,谢谢支持!

本文链接:http://www.liwowo.cn//znwb/zhishi/48.html