要求设计的思路是这样的:
   1.我直接从地址栏中输入一个已知的域名(比如:ttradem.com/http://www/vvvv.com),这时程序取得当前域名后取出ttradem.com- 然后根据ttradem.com到数据库进行查找--找出对应的urlid ---然后根据urlid找到数据库中对应的css文件名和模板,然后自动根据模板全部生成静态页面(含首页) --或者可以在后台实现人为的实现也可以-- 当我输入另外一个已知的域名时,又会重复刚才的步骤。(数据库里:一个域名对应一个css,对应同一个模板,但是不同的页是不同的模板,),
  -- 要求后台可以根据域名更换css样式
  请教大家:如何合理的设计表结构呢,以及如何实现这种多域名,多样式的效果呢?而且可以对应多语言 ,其中自动根据模板全部生成静态页面这步怎么实现好呢(不要笑我啊,这个地方真的没搞过的),-------提供相似功能的连接,源码者都十分感谢,以下是我目前的表结构:
   create table WebUrlInfo
(
urlid int identity primary key,--主键,自增
urluserlevel int DEFAULT ((1)),         --域名用户等级
urlusername nvarchar(50) DEFAULT ('xinfo'), --域名用户名
urluserpwd nvarchar(100) DEFAULT ('info200789'), --域名用户密码
urldomain nvarchar(50),   --域名
urlwebtype int DEFAULT ((1)),   --域名类型
....省略了部分字段 ...
urlcss nvarchar(30),      --url样式文件名
urltemplate nvarchar(30), --url模板文件名
exid int foreign key references DomainExten(exid),   --域名后缀外键,对应域名后缀表

-----这里只列举一个页面的表结构-
create table ServType
(
serid int identity primary key,   --服务项目类型 主键
sername nvarchar(100) not null,   --服务项目类型 名
sersort int not null,             --类型 排序字段
urlid int foreign key references WebUrlInfo(urlid),--- 域名id,外键 
..............
)
------------ 请大家指教--------如何实现多域名,多样式的效果,且自动生成静态页面的效果呢 ?????????
   

解决方案 »

  1.   

    在多年以前asp时,有过类似的经历
    我觉得你应该设置一个域名表,一个样式表,一个两者间的关联表即可。
      

  2.   

    -------------------------
    是的---------数据库里:一个域名对应一个css,对应同一个模板(这里主要是指主页),但是不同的页是不同的模板(这里比如主页上有4个连接,那么希望是调用另外的模板)
      

  3.   

    还有一个问题就是用户输入的URL可能是千奇百怪的,还要注意哦!
      

  4.   

    1、表结构的设计应该很容易,就是有样式表和域名表,外加域名样式关联表就行。
    2、所有的css全是动态绑定的,例如cssclass=<%=myclass%>
    3、根据输入的域名加载相应的css。
      

  5.   

    你做的这个很像是微软的sharepoint
    你可以装个vss去看看 微软的数据库设计 或者找相关的资料看看
      

  6.   

    先谢谢各位:
    我现在的主要的表结构如下:一个语言表:LangExten---insert into LangExten values('cn','中国')
                     一个CssStyle样式表
                        一个template模板表
                       一个:域名基本信息表(lnid   int foreign key references  LangExten(lnid))
                       一个TempRelation关系表(对应关系为:一个域名对应1个样式表、模板表)
    create table TempRelation
    (
    Relid  int identity primary key,
    urlid  int foreign key references WebUrlInfo(urlid),
    cssid  int foreign key references CssStyle(cssid),
    --lnid   int foreign key references  LangExten(lnid),
    tempid int foreign key references TemplateInfo(tempid)
    )
    ------------大家在给点意见---谢谢
      

  7.   

    这是样式和模板基本结构: css根据cssid动态生成文件夹及css文件
    create table CssStyle
    (
    cssid int identity primary key,  --样式主键,自增
    cssname nvarchar(40) not null,   --样式名字
    cssfolder nvarchar(50),          --样式文件夹名字
    cssinfo varchar(8000),           --单一样式信息内容,全部放入数据库
    cssnote nvarchar(4000)           --备注信息
    )
    -- 创建模板文件表
    create table TemplateInfo
    (
    tempid int identity primary key, --模板文件主键,自增
    tempname nvarchar(100) not null, --模板文件名字
    tempinfo nvarchar(4000),
    tempfolder nvarchar(50)          --模板文件夹
    )
      

  8.   

    找个模板页面,把CSS,域名 都用一个字典放进去,到时候从数据库字段取,然后把他们替换
    注:你要提供多个CSS模板才能实现多样式
      

  9.   

    刚刚打错字了找个模板页面,把CSS,域名 都用一个字段放进去,到时候从数据库字段取,通过url把所需字段传到模板页面,然后把他们替换 生成静态页即可
     注:你要提供多个CSS模板才能实现多样式
      

  10.   

    这是样式和模板基本结构: css根据cssid动态生成文件夹及css文件 
    create table CssStyle 

    cssid int identity primary key,  --样式主键,自增 
    cssname nvarchar(40) not null,  --样式名字 
    cssfolder nvarchar(50),          --样式文件夹名字 
    cssinfo varchar(8000),          --单一样式信息内容,全部放入数据库 
    cssnote nvarchar(4000)          --备注信息 

    -- 创建模板文件表 
    create table TemplateInfo 

    tempid int identity primary key, --模板文件主键,自增 
    tempname nvarchar(100) not null, --模板文件名字 
    tempinfo nvarchar(4000), 
    tempfolder nvarchar(50)          --模板文件夹 
    )可以
      

  11.   

    -----------------谢谢你--
    我现在有个不通的问题那就是如何处理第2次连接时的静态生成问题:
    比如:首页我通过url动态绑定了css和替换了模板中一些连接(比如产品种类)而且也生成了静态,那么我里边的那个连接的地方该在模板里如何处理呢,当我点击产品种类时,会跳到另一个静态页面,这时调用的也是另外一个模板,请问这个地方如何处理呢。---(能够提供类似实例的也可以的-我将在开贴给分) 急等中!!!!!!!!
      

  12.   

    前台只保留首页和search.aspx其余的改到后台生成静态页面---
      

  13.   


    一般网站也就3级链接,如果你的2级,3级别链接的模板,css 和主页不同,那么方法1、在域名那个表里加多字段(2级css,模板,名称),生成主页时候,在2级如你的产品类别链接时候加上这两个参数,接收页面(产品类别页面)根据这两个参数(css,模板)动态生成,同理3级一样 这个方法比较笨2、
     域名基本信息表(lnid  int foreign key references  LangExten(lnid)) 
     一个TempRelation关系表(对应关系为:一个域名对应1个样式表、模板表)  实际你现有的表就可以了,只不过你在域名基本信息表里添加相应的2级,3级别URL 即可