我正在努力为我自己和我的客户建立自己的CMS。该系统将主要用于小型网站< 10页。对于更大的项目,我将很可能使用一个现有的系统(MojoPortals,Umbraco,Kooboo)。我之所以想要我自己的系统,是因为我拥有完全的控制能力,也因为现有的系统大多都是膨胀的,而且我也不会将这些功能用于较小的项目。我也在学习Asp.net Mvc,所以这是构建我自己的系统的另一个原因。
以下是我尝试过的一些系统(有些比其他系统更多):
我马上就喜欢的是MojoPortals。主要是因为左中右+模块系统。
因此,我的目标是创建一个系统,您可以在其中创建页面,每个页面都有一个模块的左、中、右占位符。这些模块将是非常基本的(文本,Html,图像)。该系统还需要易于部署和重用。
我已经开始研究我的系统了。
页面对象如下所示:
public class Page
{
public int PageID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Title { get; set; }
public IEnumerable<Module> Modules { get; set; }
}Module对象如下所示:
public class Module
{
public int ModuleID { get; set; }
public string ModuleTitle { get; set; }
public string ModuleType { get; set; }
public string ModuleLocation { get; set; }
public Dictionary<string, string> ModuleValues { get; set; }
}这就是我的视图:www.codepaste.com
稍后,我可能会添加一个网站对象,该对象包含它将显示哪个视图(模板)的信息。
我现在的问题主要是关于观点。我链接的视图有一些基本代码,首先检查模块位置,然后在正确的位置显示所有模块信息。我希望那部分容易重复使用。所以我想做一个强类型的局部视图,做左,右,中间的事情。另外,对于模块,我正在考虑使用部分视图,并呈现某个moduleType的正确部分。因此,文本将有一个部分,html将有一个等等。我不知道这是否是正确的技术。
那么,我应该使用部分视图来处理左、中、右的东西,并使用部分视图加载模块吗?
如果有人有关于构建基于组件的cms或技术/结构的其他信息,我可以使用这些信息,那也是非常棒的。
提前谢谢你,皮克斯。
发布于 2009-09-05 18:48:48
是的,这是最好的选择。用css为每个模板设置一个“结构基础”,并使每个模块将自己的视图加载到正确的模板部分。假设您的模板在公共标题下有一个顶部菜单,您可以在其中显示公司的徽标和其他东西。在数据库中插入有关模块和模板顶部部分的信息(您应该在数据库中完全创建一个关于模板结构的表,以便系统可以知道将与每个页面相关的每个模块放在哪里),只需使用系统将每个页面请求中所需的模块放到正确的位置,使其将自己的视图加载到该位置。
希望你能理解我的写作:)
https://stackoverflow.com/questions/1383773
复制相似问题