【发布时间】:2012-07-12 21:53:50
【问题描述】:
背景:
我有一个网站,我也部署了我的内容类型,并且这个网站有很多子网站。每个子站点将使用内容类型。
我有一个模块,我想在部署和激活我的功能时推送自定义的新建/编辑/显示表单(Web 部件页面)。
我想将这些表单直接设置为内容类型 (FormUrls),但我不知道应该如何或在何处部署表单以便正确引用它们。
我知道如何使用 _layouts 执行此操作,并且我也知道如何使用列表定义架构(设置路径),但由于版本要求,我不能使用其中任何一个(我们尽可能避免使用 _layouts)。我们需要在创建时维护列表和表单历史记录。当发布新版本的列表/表单时,新的内容类型将继承以前的内容类型,新的表单将设置为新的内容类型。
我们也不能使用 Infopath(许可问题)。
我已尝试使用模块将表单部署到内容类型(_cts/内容类型名称)的 Url,但我似乎无法正确获取内容类型路径。这是一个简单的例子(我不能给出实际的代码,否则我会,抱歉)。
模块
<Module Name="Module1" Url="_cts/Content Type" RootWebOnly="FALSE">
<File Path="Module1\MyNewForm.aspx" Url="Module1/MyNewForm.aspx" />
</Module>
内容类型
<FormUrls xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
<New>Module1/MyNewForm.aspx</New>
</FormUrls>
上面的示例不起作用,我尝试删除 Module -> Url 属性,以便将其部署在根目录下,但这也没有帮助。对此的任何帮助将不胜感激。
【问题讨论】:
标签: sharepoint-2010 content-type