Sitefinity和定制开发

时间:2011-09-07 18:51:30

标签: content-management-system sitefinity

我们正在考虑在很短的时间内购买Sitefinity(或DotNetNuke),并且我有一个问题,我无法找到快速回答。 (I have a separate but similar post with DotNetNuke as the focus, if you can answer that better or in addition.

我们目前根本没有使用任何CMS,我们有一些自定义开发不会因为我们在某些或大部分网站上使用CMS而消失。

我们的自定义开发是带有Site Master和嵌套Site Master页面的c#ASPX。这些自定义应用程序在我们的网站中不拥有自己的顶级应用程序,但它们是分支的一部分,通常是一个或两个级别(例如,http://www.contoso.com/branch/app/default.aspx)。

  • 如何在CMS /自定义“混合模式”中配置Sitefinity?例如,Sitefinity是安装在网站的“顶部”,还是安装在网站的“需要”位置。
  • 混合CMS和自定义Web应用程序时,这有何关联?
  • CMS界面是否允许添加这些自定义应用程序,或者只是转到Web服务器并将其添加到结构中?
  • 通过阅读其他帖子,我们可以创建自己的自定义c#模块,并让CMS编辑器“插入”页面上的模块。有人可以为我确认一下吗?

如果我没有提供足够的细节,请随时提出更多要求。

3 个答案:

答案 0 :(得分:4)

我们在根目录下安装了Sitefinity,其中包含大量包含自定义页面的子文件夹。我们通常构建一个usercontrol,将其添加到sitefinity ToolboxesConfig.config文件中,然后将其拖放到sitefinity CMS页面中。我相信这就是你所说的“CMS编辑器在页面上放入模块”。

我们还有主页/子页面作为页面模板导入Sitefinity,它们运行良好。您还可以从任何CMS页面链接到您自己的子文件夹中的常规.aspx页面,并在那里使用sitefinity API实现代码,但我们个人发现这更加棘手,并且尽可能远离这种方法。

简而言之,只要您将自定义代码压缩到用户控件或母版页中,自定义代码就可以相对轻松地集成到sitefinity中。

免责声明:这都是通过常规Web表单开发完成的。我不确定MVC网站如何与Sitefinity交互(我认为无论如何都是使用MVC架构构建的)。

我不确定的问题部分是关于嵌套分支中的自定义Web应用程序。我建议安装sitefinity的试用版,并尝试将一个分支集成为原型。这可能需要一天时间,但是值得知道sitefinity路线是否会让你心痛。

答案 1 :(得分:3)

完全免责声明:我在Sitefinity上工作。

首先,让我说在整个Sitefinity的历史中,可扩展性和开发人员友好性是我们的首要任务。我们尝试创建一个CMS,它使用ASP.NET开发人员熟悉的概念并构建在它们之上。

现在让我通过你的每一点。

  • 您可以随意组织Sitefinity部署。对于子应用程序,您可以在IIS中创建虚拟目录,并在每个应用程序中部署Sitefinity的单独实例,也可以使用CMS来执行子应用程序。在CMS中,它们可以是单独的页面分支,应用单独的模板,感觉就像是单独的站点。您仍然可以通过一个界面管理它们。您可以选择一种方法。
  • Sitefinity是一个普通的ASP.NET Web应用程序,其中的CMS程序集位于BIN文件夹中。您可以在Visual Studio中打开项目并像普通的ASP.NET Web应用程序一样运行它。从开发人员的角度来看,自定义应用程序和Sitefinity应用程序之间没有区别 - 它们只是ASP.NET Web应用程序。
  • 如果您遵循在根目录中安装Sitefinity然后使用CMS创建子应用程序的方法,则可以通过UI执行此操作。如果选择运行单独的虚拟目录,则必须手动上载文件。此外,Sitefinity还有一个内置的文件浏览器,您可以使用它来管理服务器上的文件。
  • 您所指的模块在Sitefinity中称为小部件。对于开发人员来说,他们只不过是自定义ASP.NET控件和用户控件。 Sitefinity页面编辑器UI允许您将小部件放在页面上的占位符中并配置其属性。占位符在母版页(普通的ASP.NET母版页)中或通过UI定义。 创建自定义小部件非常容易。这是一个快速入门:http://www.sitefinity.com/blogs/gabesumner/posts/11-08-29/ldquo_hello_world_rdquo_guide_to_custom_sitefinity_widgets_amp_controldesigners.aspx

我们也有模块,这是一个更复杂的概念。他们管理数据,后端和前端UI。我们建议您浏览我们的blogsdocumentation以获取更多信息。

我们还有一个SDK,其中包含带有CMS扩展源代码的示例。

答案 2 :(得分:0)

您可能希望查看支持类似方案的Kentico CMS - 您可以轻松混合自己的ASPX页面和CMS控制的ASPX页面,因此它非常灵活。