背景:
我有一个站点,我也部署了我的内容类型,并且该站点有许多子站点。每个子站点将使用内容类型。
我有一个模块,我想在部署和激活我的功能时推送自定义的新建/编辑/显示表单(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 属性,以便将其部署在根目录,但这也没有帮助。对此的任何帮助将不胜感激。