您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Discuz项目新建子网站的方法
韦烽凌2025-07-07Discuz教程已有人查阅
导读在.net版的Discuz项目中,后台管理模块Discuze.Web.Admin是一个单独的模块,但是,打开解决方案的文件夹却找不到单独模块的文件夹存放,而是在Discuz.Web项目里的admin文件夹里。
在.net版的Discuz项目中,后台管理模块Discuze.Web.Admin是一个单独的模块,但是,打开解决方案的文件夹却找不到单独模块的文件夹存放,而是在Discuz.Web项目里的admin文件夹里。
经过分析,原来管理员模块是一个子网站,只是把网站建立在了Discuz.Web文件夹中,之后,在Discuz.Web项目包含在内就行了。子网站到底有什么好处了,很简单,就是方便管理,独立开发,当这个模块有问题时,单独编译这个模块,然后重新上传页面文件和DLL到主网站的Bin文件夹即可,完全不受其它影响。
官方的说法:管理模块是独立的模块,方便管理等...(具体还待验证--囧)
Discuz.Web.Admin是一个类库,不是一个web应用程序,那就神了,类库在添加aspx页面,是没有全自动,只能是自己手工输入和关联页面设计文件(到现在还没研究出官方是如何添加的)。且在Discuz.Web项目的admin文件夹中,只是包含aspx文件,没有包含cs文件,这样的做法是,当发布网站时,自动发布Discuz.Web.Admin的项目(之后还是没搞明白是如何只包含aspx文件不包含cs文件的)。
子网站的优点是方便管理,模块独立,互补干扰。缺点:不能使用和包含子网站的Web.config和Global.asax这些全局文件,只能是共用主网站的,但是你可以在别的文件夹新建,单独调用就可以。
因为项目基于VS08开发的,所以有一些开发工具的特性无法考证。(原因是我机器没装08-囧)
以上是对Discuz.net项目的子网站新建技术的一点分析。
下面,我们来使用VS2010新建一个子网站来实战一下,在10我改变了做法,子网站不用类库去实现,而是用web应用程序去实现,好处是方便新建aspx页面,无需手动创建,且类库全部引用了。
首先,新建一个名为SiteCollection的Web应用程序
然后在新建一个名为Site的子网站Web应用程序,注意保存项目的路径,必须保存在SiteCollection的根目录里。
在SiteCollection项目里添加Site的引用
之后在SiteCollection项目点击显示所有文件,这里我就不用Discuz的做法,我不包含文件进去,因为包含进去,每次新建页面时都要包含在主项目里,非常不方便,我何必不包含了,直接在发布子网站的时候拷贝到主网站的目录里,方便,省事。
应为我这边是新建的VS10自带的示例,所以会包含Web.config和Global.asax文件,我把它干掉了。不然会报错。
运行测试一下:
注意URL的路径:
成功了。
下面我们来试下,调用主网站的Web.config的内容:
在Site的子网站的Default.aspx.cs文件中写也成功了:
切记,网页查看时一定要在主站点里进行调试查看。
之后,如果Site的子网站项目有改动的地方,直接选择Site项目编译发布,得到dll和页面文件,上传到主网站相应的目录即可。非常的方便。
经过分析,原来管理员模块是一个子网站,只是把网站建立在了Discuz.Web文件夹中,之后,在Discuz.Web项目包含在内就行了。子网站到底有什么好处了,很简单,就是方便管理,独立开发,当这个模块有问题时,单独编译这个模块,然后重新上传页面文件和DLL到主网站的Bin文件夹即可,完全不受其它影响。
官方的说法:管理模块是独立的模块,方便管理等...(具体还待验证--囧)
Discuz.Web.Admin是一个类库,不是一个web应用程序,那就神了,类库在添加aspx页面,是没有全自动,只能是自己手工输入和关联页面设计文件(到现在还没研究出官方是如何添加的)。且在Discuz.Web项目的admin文件夹中,只是包含aspx文件,没有包含cs文件,这样的做法是,当发布网站时,自动发布Discuz.Web.Admin的项目(之后还是没搞明白是如何只包含aspx文件不包含cs文件的)。
子网站的优点是方便管理,模块独立,互补干扰。缺点:不能使用和包含子网站的Web.config和Global.asax这些全局文件,只能是共用主网站的,但是你可以在别的文件夹新建,单独调用就可以。
因为项目基于VS08开发的,所以有一些开发工具的特性无法考证。(原因是我机器没装08-囧)
以上是对Discuz.net项目的子网站新建技术的一点分析。
下面,我们来使用VS2010新建一个子网站来实战一下,在10我改变了做法,子网站不用类库去实现,而是用web应用程序去实现,好处是方便新建aspx页面,无需手动创建,且类库全部引用了。
首先,新建一个名为SiteCollection的Web应用程序
然后在新建一个名为Site的子网站Web应用程序,注意保存项目的路径,必须保存在SiteCollection的根目录里。
在SiteCollection项目里添加Site的引用
之后在SiteCollection项目点击显示所有文件,这里我就不用Discuz的做法,我不包含文件进去,因为包含进去,每次新建页面时都要包含在主项目里,非常不方便,我何必不包含了,直接在发布子网站的时候拷贝到主网站的目录里,方便,省事。
应为我这边是新建的VS10自带的示例,所以会包含Web.config和Global.asax文件,我把它干掉了。不然会报错。
运行测试一下:
注意URL的路径:
成功了。
下面我们来试下,调用主网站的Web.config的内容:
在Site的子网站的Default.aspx.cs文件中写也成功了:
切记,网页查看时一定要在主站点里进行调试查看。
之后,如果Site的子网站项目有改动的地方,直接选择Site项目编译发布,得到dll和页面文件,上传到主网站相应的目录即可。非常的方便。
本文标签:
很赞哦! ()
相关教程
图文教程
Discuz积分商城功能使用和运营方法
在Discuz论坛中,积分商城是一个非常有用的功能,它不仅可以激励用户的活跃度,还能为论坛带来额外的收入。那么,如何配置和运营Discuz的积分商城呢?
discuz编辑器发布帖子显示html代码怎么办
在discuz二次开发中调用discuz的编辑器是一件在所难免的事情,然而discuz的开发文档少得可怜;因此在二次开发的时候查看源码和各种莫名其妙的问题着实令人mō不着头脑。
基于docker构建discuz论坛的方法
下载discuz的zip包,将discuz论坛包解压:目录内容:新建docker-compose.yml文件:执行之后说是需要先执行下docker-compose build之后再执行 docker-compose up -d
ubuntu搭建discuz论坛的步骤方法
a.安装mysql database1.安装mysql服务端2.安装mysql客户端3.安装mysql开发库4.查看是否安装成功5.登陆mysql6.使用mysql
相关源码
-
(自适应)变压器电子元器件电器配件pbootcms网站模板源码为电子元器件企业打造的响应式网站模板,基于PbootCMS内核开发,助力企业快速构建专业级线上展示平台。支持页面独立设置标题、关键词和描述,内置SEO友好结构。PHP程序确保运行安全稳定,有助于提升搜索引擎收录效果。查看源码 -
pbootcms模板(自适应)花店鲜花花卉园艺网站源码一款基于PbootCMS内核开发的花店鲜花配送与花卉园艺企业网站模板。该模板采用响应式设计,自动适配手机、平板等移动设备,确保用户在任何设备上都能获得优质浏览体验。查看源码 -
(自适应)帝国cms7.5模板自媒体文章新闻博客为帝国CMS7.5设计的响应式模板,采用H5技术构建现代化内容展示框架。通过智能断点检测技术实现手机、平板、PC三端适配查看源码 -
(自适应)中英双语配线器材扎带线卡网站pbootcms模板免费下载为线缆管理、电气配线领域打造的响应式网站模板,采用PbootCMS内核开发,可快速搭建企业级产品展示平台,数据实时同步管理。查看源码 -
自适应极简风个人博客文章自媒体网站模板基于PbootCMS开源内核开发的极简个人博客模板,采用移动优先设计原则,通过Media Query技术实现320px至1920px六级分辨率适配,确保在手机、平板及PC设备上均呈现良好的视觉体验。查看源码 -
(自适应)pbootcms模板五金元件气缸气动系统源码下载基于PbootCMS核心开发的气缸气动系统网站模板,为五金元件、气动设备制造企业设计。采用响应式布局技术,自动适配手机、平板等移动设备,确保各类终端用户获得良好浏览体验。查看源码
| 分享笔记 (共有 篇笔记) |
