Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

让SupeSite像其他CMS一样生成路径(完美解决列表问题)

[复制链接]
死了再来 发表于 2010-4-12 11:39:37 | 显示全部楼层 |阅读模式
支持SupeSite 7.5 Utf-8;其他的语言版本我没用,不知道是不是一样的.可以供大家参考下.

首页生成方式:
http://www.***.com/index.html
频道首页生成方式:
http://www.***.com/html/英文ID.html
列表页生成方式:
http://www.***.com/html/英文ID/list{ID}.html
文章页生成方式:
http://www.***.com/html/英文ID/年月/news{ID}.html

找到function/common.func.php文件
查找:
  1. function gethtmlfile($parray) {
复制代码
下面加:
  1. global $_SGLOBAL;
复制代码
查找:

  1. if(!empty($parray['action'])) {
  2.                         if($parray['action'] == 'viewnews') {
  3.                                 $htmlfilename = "n-{$id}";
  4.                                 if(!empty($parray['page'])) $htmlfilename .= '-'.$parray['page'];
  5.                         } elseif($parray['action'] == 'viewthread') {
  6.                                 $htmlfilename = "t-{$id}";
  7.                         }
  8.                 }
复制代码
替换成:
  1. if(!empty($parray['action'])) {
  2.                         if($parray['action'] == 'viewnews') {
  3.                         $query = $_SGLOBAL['db']->query('SELECT i.type,i.dateline FROM '.tname('spaceitems').' i WHERE i.itemid=\''.$id.'\'');
  4.                                    $news = $_SGLOBAL['db']->fetch_array($query);
  5.                                    $time=date('Ym', $news['dateline']);
  6.                                    $thedir = empty($news['dateline'])?$thedir:$news['type'].'/'.$time;
  7.                                    $htmlfilename = "news{$id}";
  8.                                 if(!empty($parray['page'])) $htmlfilename .= '-'.$parray['page'];
  9.                         } elseif($parray['action'] == 'viewthread') {
  10.                                 $htmlfilename = "t-{$id}";
  11.                         }
  12.                         if($parray['action'] == 'category') {
  13.                         $query = $_SGLOBAL['db']->query('SELECT i.type,i.dateline FROM '.tname('spaceitems').' i WHERE i.catid=\''.$id.'\'');
  14.                         $news = $_SGLOBAL['db']->fetch_array($query);
  15.                         $time=date('Ym', $news['dateline']);
  16.                          $thedir = empty($news['dateline'])?$thedir:$news['type'];
  17.                          $htmlfilename = "list".$id;
  18.                                 if(!empty($parray['page'])) $htmlfilename .= '-'.$parray['page'];
  19.                         }
  20.                         elseif($parray['action'] == 'viewthread') {
  21.                                 $htmlfilename = "t-{$id}";
  22.                         }
  23.                 }
复制代码
查找:
  1. $htmldir = H_DIR.'/'.$thedir;
复制代码
在下面加:
  1. if(is_dir(H_DIR.'/'.$news['type']) || (!is_dir(H_DIR.'/'.$news['type']) && @mkdir(H_DIR.'/'.$news['type']))){}
复制代码
OK,这部分便是生成HTML的代码了;

把index.html生成到根目录下.请参考benba的:
https://discuz.dismall.com/thread-1525493-1-1.html

在这儿要感谢下benba提供的思路.也BS下他的懒惰,大家都在等列表页问题的完善呢,结果没有个后话, ...
la367 发表于 2010-4-16 08:49:47 | 显示全部楼层
看不懂,代码是什么?
回复

使用道具 举报

ppabc 发表于 2010-7-18 20:08:37 | 显示全部楼层
  很想知道 为啥 官方出版本的时候 不这么做呢??
是出于什么考虑???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 01:56 , Processed in 0.065212 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表