定型管 電子鈑金
返回列表 回復 發帖

帖子標題:[求助] 有關sitemap問題想請教高手們

ecshop版本:ECShop V2.6.2
問題描述:

ECSHOP中可以自動生成sitemap檔,但是路徑是在 data/sitemaps.xml
想請問:
1、我該怎麼將他生成的sitemap檔  檔名改為 " sitemap.xml "
2、我該怎麼把他生成的sitemap檔  路徑改到  根目錄  下


我剛剛有看到ecshop大陸那邊的論壇中有人教學,但我照他的方式改卻沒有效果

麻煩高手們幫幫忙 ^^" 謝謝...感激不盡!
提醒您: 您在"ECSHOP 交流討論區"交流請遵守台灣法律規範,"cgwocgwo" 發表的文章《有關sitemap問題想請教高手們》版權歸屬作者所有,如是轉貼版權歸屬原作者所有.本論壇不對其真實性做任何考證.
1.系統設定/網站地圖/確定 =>這樣自己就會產生sitemap.xml

2.同上我儲存之後他自動就在根目錄了。
提醒您: 您在"ECSHOP 交流討論區"交流請遵守台灣法律規範,"sinps83056" 發表的文章《》版權歸屬作者所有,如是轉貼版權歸屬原作者所有.本論壇不對其真實性做任何考證.
1.系統設定/網站地圖/確定 =>這樣自己就會產生sitemap.xml
是,但他有說sitemap.xml的路徑是在 data/sitemap.xml
2.我儲存後,根目錄有sitemap.php檔,但這不是我要跟google和yahoo用來sitemap的。
提醒您: 您在"ECSHOP 交流討論區"交流請遵守台灣法律規範,"cgwocgwo" 發表的文章《》版權歸屬作者所有,如是轉貼版權歸屬原作者所有.本論壇不對其真實性做任何考證.
那就修改他程式碼↓

admin/sitemap.php這個檔的第94行,改為:
$sm_file = '../sitemaps.xml';
這樣sitemap.xml檔就放置在根目錄下了
然後修改語言項
在文件:languages/zh_cn/admin/sitemap.php

把:$_LANG['generate_success'] = '站點地圖已經生成到data目錄下。<br />地址為:%s';
替換為 :
$_LANG['generate_success'] = '站點地圖已經生成到您網站根目錄下。<br />地址為:%s';
提醒您: 您在"ECSHOP 交流討論區"交流請遵守台灣法律規範,"sinps83056" 發表的文章《》版權歸屬作者所有,如是轉貼版權歸屬原作者所有.本論壇不對其真實性做任何考證.
報告sinps83056大~
我就是在大陸那邊看到這篇的,但我照他這樣改卻無效...
所以才來這邊尋求高手高手高高手~
提醒您: 您在"ECSHOP 交流討論區"交流請遵守台灣法律規範,"cgwocgwo" 發表的文章《》版權歸屬作者所有,如是轉貼版權歸屬原作者所有.本論壇不對其真實性做任何考證.
是喔,沒用
我本身的2.6.2就沒這個問題,因為就是在根目錄。
來下載我的sitemaps.php看看。
  1. class sitemap
  2. {
  3.     var $head = "<\x3Fxml version=\"1.0\" encoding=\"UTF-8\"\x3F>\n<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">\n";
  4.     var $footer = "</urlset>\n";
  5.     var $item;
  6.     function item($item)
  7.     {
  8.         $this->item .= "<url>\n";
  9.         foreach($item as $key => $val){
  10.             $this->item .=" <$key>".htmlentities($val, ENT_QUOTES)."</$key>\n";
  11.         }
  12.         $this->item .= "</url>\n";
  13.     }
  14.     function generate()
  15.     {
  16.         $all = $this->head;
  17.         $all .= $this->item;
  18.         $all .= $this->footer;

  19.         return $all;
  20.     }
  21. }

  22. define('IN_ECS', true);
  23. define('INIT_NO_USERS', true);
  24. define('INIT_NO_SMARTY', true);
  25. require(dirname(__FILE__) . '/includes/init.php');
  26. if (file_exists(ROOT_PATH . DATA_DIR . '/sitemap.dat') && time() - filemtime(ROOT_PATH . DATA_DIR . '/sitemap.dat') < 86400)
  27. {
  28.     $out = file_get_contents(ROOT_PATH . DATA_DIR . '/sitemap.dat');
  29. }
  30. else
  31. {
  32.     $site_url = rtrim($ecs->url(),'/');
  33.     $sitemap = new sitemap;
  34.     $config = unserialize($_CFG['sitemap']);
  35.     $item = array(
  36.         'loc'        =>  "$site_url/",
  37.         'lastmod'     =>  local_date('Y-m-d'),
  38.         'changefreq' => $config['homepage_changefreq'],
  39.         'priority' => $config['homepage_priority'],
  40.     );
  41.     $sitemap->item($item);
  42.     /* 商品分类 */
  43.     $sql = "SELECT cat_id FROM " .$ecs->table('category'). " ORDER BY parent_id";
  44.     $res = $db->query($sql);

  45.     while ($row = $db->fetchRow($res))
  46.     {
  47.         $item = array(
  48.             'loc'        =>  "$site_url" . build_uri('category', array('cid' => $row['cat_id'])),
  49.             'lastmod'     =>  local_date('Y-m-d'),
  50.             'changefreq' => $config['category_changefreq'],
  51.             'priority' => $config['category_priority'],
  52.         );
  53.         $sitemap->item($item);
  54.     }
  55.     /* 文章分类 */
  56.     $sql = "SELECT cat_id FROM " .$ecs->table('article_cat'). " WHERE cat_type=1";
  57.     $res = $db->query($sql);

  58.     while ($row = $db->fetchRow($res))
  59.     {
  60.         $item = array(
  61.             'loc'        =>  "$site_url/" . build_uri('article_cat', array('acid' => $row['cat_id'])),
  62.             'lastmod'     =>  local_date('Y-m-d'),
  63.             'changefreq' => $config['category_changefreq'],
  64.             'priority' => $config['category_priority'],
  65.         );
  66.         $sitemap->item($item);
  67.     }
  68.     /* 商品 */
  69.     $sql = "SELECT goods_id,  last_update FROM " .$ecs->table('goods'). " WHERE is_delete = 0 LIMIT 300";
  70.     $res = $db->query($sql);

  71.     while ($row = $db->fetchRow($res))
  72.     {
  73.         $item = array(
  74.             'loc'        =>  "$site_url/" . build_uri('goods', array('gid' => $row['goods_id'])),
  75.             'lastmod'     =>  local_date('Y-m-d', $row['last_update']),
  76.             'changefreq' => $config['content_changefreq'],
  77.             'priority' => $config['content_priority'],
  78.         );
  79.         $sitemap->item($item);
  80.     }
  81.     /* 文章 */
  82.     $sql = "SELECT article_id,  add_time FROM " .$ecs->table('article'). " WHERE is_open=1";
  83.     $res = $db->query($sql);

  84.     while ($row = $db->fetchRow($res))
  85.     {
  86.         $item = array(
  87.             'loc'        =>  "$site_url/" . build_uri('article', array('aid' => $row['article_id'])),
  88.             'lastmod'     =>  local_date('Y-m-d', $row['add_time']),
  89.             'changefreq' => $config['content_changefreq'],
  90.             'priority' => $config['content_priority'],
  91.         );
  92.         $sitemap->item($item);
  93.     }
  94.     $out =  $sitemap->generate();
  95.     file_put_contents(ROOT_PATH . DATA_DIR . '/sitemap.dat', $out);
  96. }
  97. if (function_exists('gzencode'))
  98. {
  99.     header('Content-type: application/x-gzip');
  100.     $out = gzencode($out, 9);
  101. }
  102. else
  103. {
  104.     header('Content-type: application/xml; charset=utf-8');
  105. }
  106. die($out);
  107. ?>
複製代碼
提醒您: 您在"ECSHOP 交流討論區"交流請遵守台灣法律規範,"sinps83056" 發表的文章《》版權歸屬作者所有,如是轉貼版權歸屬原作者所有.本論壇不對其真實性做任何考證.
大大的sitemaps.php檔是admin/sitemap.php這個嗎?
提醒您: 您在"ECSHOP 交流討論區"交流請遵守台灣法律規範,"cgwocgwo" 發表的文章《》版權歸屬作者所有,如是轉貼版權歸屬原作者所有.本論壇不對其真實性做任何考證.
返回列表