Sharepoint 使用DocumentTemplate部署ContentType
首先,我创建了几个测试列…Sharepoint 使用DocumentTemplate部署ContentType,sharepoint,document,content-type,Sharepoint,Document,Content Type,首先,我创建了几个测试列… 其次,我创建了一个新的内容类型(源自文档) 接下来,我创建了一个模块,将word 2013模板文件(.dotx)部署到/\u cts//MyCustomTemplate1.dotx <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <Module Name="DocumentTempl
其次,我创建了一个新的内容类型(源自文档)
接下来,我创建了一个模块,将word 2013模板文件(.dotx)部署到/\u cts//MyCustomTemplate1.dotx
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="DocumentTemplates" RootWebOnly="TRUE" Url="_cts/MyDocContentType1">
<File Path="DocumentTemplates\MyDocumentTemplate1.dotx" Url="MyDocumentTemplate1.dotx" Type="Ghostable" />
</Module>
</Elements>
将内容类型添加到库将启用文档模板…例如,当我创建一个新项目“MyDocContentType1”时,它会打开Word 2013。
但是文档模板未正确绑定到服务器-文档信息面板未显示,我无法添加任何引用sharepoint内容类型列的快速部分。 当我通过SharePoint Web UI分配文档模板时,它确实起作用 有什么想法吗 编辑:word模板(.dotx)已经知道SharePoint列。在上一步中,我手动分配DocumentTemplate(设计word模板)。现在.dotx模板的功能已经完成,我想将其作为SharePoint解决方案的一部分进行部署(例如,部署到新创建的网站集) 编辑:当然,它使用编程方法通过功能事件接收器分配DocumentTemplate属性。这不是我想要的解决方案。仅声明性
在我看来,它像一只虫子。如果我转到内容类型,编辑/更新文档模板(更新-不上载新模板!),并从该内容类型创建一个新文档,它将开始工作 我假设您直接在word中创建了*.dotx文件,并将其添加到Visual Studio中 它不起作用的原因是dotx文件需要引用Word文件本身中编码的SharePoint字段 我建议:
- 在不使用任何文档模板的情况下部署内容类型
- 将内容类型添加到文档库
- 编辑新创建的列表内容类型(在文档库中)并上载一个空的*.dotx模板:现在SharePoint将创建dotx文件的副本,添加所有内容类型列,并将新的dotx文件保存在文档库的表单/文件夹中;在此之后,将有一个具有正确关联的空白dotx文件-通过在文档库中添加一个具有内容类型的新文档来测试它,并检查“信息”面板
- 在SharePoint Manager中打开文档库(或使用SharePoint Designer,或导航到表单/文件夹),然后下载SharePoint生成的dotx文件
- 根据您的需要自定义此dotx文件
- 删除文档库并收回wsp包
- 像以前一样,向解决方案和内容类型中添加最终的dotx
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="DocumentTemplates" RootWebOnly="TRUE" Url="_cts/MyDocContentType1">
<File Path="DocumentTemplates\MyDocumentTemplate1.dotx" Url="MyDocumentTemplate1.dotx" Type="Ghostable" />
</Module>
</Elements>